标签:
// 字符串 转换 32 位 MD5 字符串 小写 - (NSString *)stringWith32BitMD5Lower { return [[self stringWith32BitMD5] lowercaseString]; } // 字符串 转换 32 位 MD5 字符串 大写 - (NSString *)stringWith32BitMD5Upper { return [[self stringWith32BitMD5] uppercaseString]; } // 字符串 转换 32 位 MD5 字符串 - (NSString *)stringWith32BitMD5 { // 1. 将字符串转化为c语言字符串 const char *cString = [self UTF8String]; CC_LONG length = (CC_LONG)strlen(cString); unsigned char bytes[CC_MD5_DIGEST_LENGTH]; // 2. 将c的字符串转化为 MD5 CC_MD5(cString, length, bytes); // 3. 将c的字符串转换成oc的 NSMutableString *finalString = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; for (int i = 0; i < 16; i++) { // 两位, 前面不足位, 用0补齐 [finalString appendFormat:@"%02x", bytes[i]]; } return finalString; }
- (NSString *)stringWith16BitMD5 { NSRange range = {8, 16}; return [[self stringWith32BitMD5] substringWithRange:range]; } // 字符串 转换 32 位 MD5 字符串 小写 - (NSString *)stringWith16BitMD5Lower { return [[self stringWith16BitMD5] lowercaseString]; } // 字符串 转换 32 位 MD5 字符串 大写 - (NSString *)stringWith16BitMD5Upper { return [[self stringWith16BitMD5] uppercaseString]; }
标签:
原文地址:http://www.cnblogs.com/mafeng/p/5777787.html