标签:
// 字符串 转换 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