- (NSString *) md5:(NSString *)str {
const char *cStr = [str UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5( cStr, strlen(cStr), result );
//返回16进制
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]
];
}
特别需要指出来的是,大家需要import这个库<CommonCrypto/CommonDigest.h>。同时大家注意我的代码中,#define CC_MD5_DIGEST_LENGTH 16。大家还可以使用CC_MD2_BLOCK_BYTES和CC_MD2_BLOCK_LONG。
今天还在网上看见有人问MD5既然加密了,那能不能再解密回来呢?答案当然是NO了,MD5是做验证用的,一般用来验证两个东东加密之后是否一样,比如两个密码。