问题描述
- iOS MD5加密 32位小写 OC代码
-
OC代码的,MD5加密技术对字符串进行加密,返回32位小写的一串字符串,请问大神代码是怎么样的
解决方案
#import CommonCrypto/CommonDigest.h
+ (NSString *)md5:(NSString *)str
{
const char *cStr = [str UTF8String];
unsigned char result[16];
CC_MD5(cStr, strlen(cStr), result); // This is the md5 call
return [NSString stringWithFormat:
@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
result[0], result[1], result[2], result[3],
result[4], result[5], result[6], result[7],
result[8], result[9], result[10], result[11],
result[12], result[13], result[14], result[15]
];
}
解决方案二:
@implementation NSString (MD5)
- (NSString *)MD5
{
return [NSString MD5ByAStr:self];
}
+ (NSString *)MD5ByAStr:(NSString *)aSourceStr {
const char* cStr = [aSourceStr UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5(cStr, strlen(cStr), result);
NSMutableString *ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH];
for (NSInteger i=0; i<CC_MD5_DIGEST_LENGTH; i++) {
[ret appendFormat:@"%02x", result[i]];
}
return ret;
}
@end
时间: 2024-12-30 12:11:18