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