iOS开发之MD5封装及应用
2015-11-19 15:59
976 查看
一、MD5的封装
二、生成独一无二的图片名称
1)根据URLString来生成
2) 根据时间戳来生成(绝对独一无二)
#define CC_MD5_DIGEST_LENGTH 16 - (NSString *)toMD5 { const char* input = [self UTF8String]; unsigned char result[CC_MD5_DIGEST_LENGTH]; CC_MD5(input, (CC_LONG)strlen(input), result); NSMutableString *digest = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; for (NSInteger i = 0; i < CC_MD5_DIGEST_LENGTH; i++) { [digest appendFormat:@"%02x", result[i]]; } return digest; }
二、生成独一无二的图片名称
1)根据URLString来生成
- (NSString*) genImageName:(NSString *)urlString { NSString *imageName = [urlString toMD5]; return [imageName stringByAppendingPathExtension:@"png"]; }
2) 根据时间戳来生成(绝对独一无二)
+(NSString *)createCUID { NSString *prefix = [NSString stringWithFormat:@"%ld", (long)[[NSDate date] timeIntervalSince1970]]; NSString * result; CFUUIDRef uuid; CFStringRef uuidStr; uuid = CFUUIDCreate(NULL); uuidStr = CFUUIDCreateString(NULL, uuid); result =[NSString stringWithFormat:@"%@-%@",prefix,uuidStr]; CFRelease(uuidStr); CFRelease(uuid); return [result toMD5]; } //生成图片名,统一用png static inline NSString* genImageName() { NSString *imageName = [NSString createCUID]; return [imageName stringByAppendingPathExtension:@"png"]; }
相关文章推荐
- iOS设置同一个Label的不同颜色的字体
- iOS 9 适配中出现的坑
- iOS检测耳机插入拔出
- 【转】ios开发之生成所缩略图方式
- iOS系统的这些小功能会影响到你的APP哦~你测了没呢?
- IOS创建弹出层
- 证书制作,各个环节的原理以及推送证书制作,和如何为推送服务器提供证书
- IOS 图片失真
- iOS---错误合集
- ios 定位
- 关于NSURLSession之NSURLSessionConfiguration
- iOS 处理图片的一些小 Tip
- iOS中 XMPP即时通讯实现的主要步骤
- 关于iOS去除数组中重复数据的几种方法
- iOS 账号申请流程
- iOS获取设备的语言
- iOS开发 - Xcode SVN提交字母示意
- iOS之 开发中用得到的开源github
- 属性字符串NSAttributedString简易教程
- 自定义AlertDialog,模仿Ios弹出框