哈希值有以下四个特点:
1. 计算效率高(要计算任何输入值的哈希值非常容易)
2. 抗冲突(没有两条输入值可以给出相同的哈希值)
3. 隐藏输入信息(不能通过哈希值推算出输入值)
4. 输出应该看起来随机(但是一样的输入值会得到一样的哈希值)
1/2. MD4/MD5/HAVAL
MD4:
Ron Rivest设计,生成128位消息摘要值,用于高速系统-176搭建-0206+可电可微-5616计算要求的软件系统,针对微处理器进行了优化。
MD4先要填充消息,确保消息的长度比512的倍数小64位,例如一个16位消息要填充432位数据,使其达到448位(512*1-64)。
MD4被认为不安全,已基本弃用。
MD5:
Ron Rivest设计,MD4升级版,生成128位消息摘要值,MD5和MD4一样先要填充消息,但算法更复杂。
增加了第四轮运算,有研究表明MD5不敌碰撞攻击,不再适用于需要抵抗碰撞攻击的应用,如SSL和数字签名。
MD5应用非常广泛,即使被证明不再安全,但是MD5现在还常用于文件完整性校验,例如一些入侵检测系统,以及司法证据完整性校验等非加密目的的应用。
HAVAL: