NSString+MD5.h
#import <CommonCrypto/CommonDigest.h>
@interface NSString (MD5)
-(NSString *) md5HexDigest;
@end
NSString+MD5.m
#import "NSString+MD5.h"
@implementation NSString (MD5)
-(NSString *) md5HexDigest
{
const char *original_str = [self UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5(original_str, (int)self.length, result);//这里严谨一点应该这样写self.length,strlen()会忽略一些空字符,同时消除警告
NSMutableString *hash = [NSMutableString string];
for (int i = 0; i < 16; i++)
[hash appendFormat:@"%02X", result[i]];
return [hash lowercaseString];
}
@end