02 散列算法

散列算法

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 总结

待续…

02 散列算法02 散列算法 JasBin2008 发布了17 篇原创文章 · 获赞 3 · 访问量 989 私信 关注
上一篇:php-MD5/sha1


下一篇:[转]加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用