#import <Foundation/Foundation.h> @interface CJMD5 : NSObject +(NSString *)md5HexDigest:(NSString *)input; @end
#import "CJMD5.h" #import <CommonCrypto/CommonCrypto.h> @implementation CJMD5 + (NSString *)md5HexDigest:(NSString*)input { const char* str = [input UTF8String]; unsigned char result[CC_MD5_DIGEST_LENGTH]; CC_MD5(str, strlen(str), result); NSMutableString *ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH*2];// for(int i = 0; i<CC_MD5_DIGEST_LENGTH; i++) { [ret appendFormat:@"%02x",result[i]]; } return ret; } @end