百度百科:MD5 算法
iOS 实现MD5 算法 通过c函数实现
- (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]
];
}
实际应用
MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。
举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5
的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对
这个文件重新计算MD5时就会发现(两个MD5值不相同)。如果再有一个第三方的认证机构,
用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。
网友评论