iOS-算法篇

MD5 算法

2016-10-21  本文已影响60人  L柠_檬

百度百科: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还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。
上一篇 下一篇

猜你喜欢

热点阅读