- (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是做验证用的,一般用来验证两个东东加密之后是否一样,比如两个密码。
本文详细介绍了MD5加密算法的实现原理及其在验证场景中的应用,提供了具体的Objective-C代码示例,并解释了MD5不可逆的特点。
1754

被折叠的 条评论
为什么被折叠?



