散列算法
1 简介
它的典型应用是对一段信息产生信息摘要。
2 常见算法
2.1 MD5算法
MD5
用的是哈希函数,它的典型应用是对一段信息产生信息摘要,以防止被篡改。严格来说,MD5不是一种加密算法而是摘要算法。无论是多长的输入,MD5
都会输出长度为128bits
的一个串 (通常用 16 进制 表示为 32 个字符)。
2.2 SHA1算法
SHA1
是和 MD5 一样流行的消息摘要算法,然而 SHA1
比 MD5 的安全性更强。对于长度小于 2^64
位的消息,SHA1
会产生一个 160
位的消息摘要。基于MD5、SHA1 的信息摘要特性以及不可逆 (一般而言),可以被应用在检查文件完整性以及数字签名等场景。
2.3 HMAC算法
HMAC
是密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code),HMAC
运算利用哈希算法 (MD5、SHA1 等),以一个密钥和一个消息为输入,生成一个消息摘要作为输出。
HMAC 发送方和接收方都使用 key 进行计算,而没有这把 key 的第三方,则是无法计算出正确的散列值的,这样就可以防止数据被篡改。
3 总结
待续…
JasBin2008 发布了17 篇原创文章 · 获赞 3 · 访问量 989 私信 关注