简介
散列(Hash)算法,它是一种单向算法,用户可以通过该算法对目标信息生成一段特定长度的唯一Hash值,却不能反向操作;
常用于在不可还原的密码存储、信息完整性校验等;
分类
- MD2
- MD4
- MD5
- HAVAL
- SHA,可以对任意长度的数据运算生成一个160位的数值;
- SHA-1
- HMAC
- HMAC-MD5
- HMAC-SHA1
比较
-
SHA-1与MD5
均由MD4导出,不同之处:
对强行供给的安全性
最显著和最重要的区别是SHA-1摘要比MD5摘要长32位;
使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2128数量级的操作,而对SHA-1则是2160数量级的操作。这样,SHA-1对强行攻击有更大的强度;
对密码分析的安全性,由于MD5的设计,易受密码分析的攻击,SHA-1显得不易受这样的攻击;
速度,在相同的硬件上,SHA-1的运行速度比MD5慢;