MD4

MD4是麻省理工学院教授Ronald Rivest于1990年设计的一种信息摘要算法。它是一种用来测试信息完整性的密码散列函数的实行。其摘要长度为128位。这个算法影响了后来的算法如MD5、SHA家族和RIPEMD等。

1991年Den Boer和Bosselaers发表了一篇文章指出MD4的短处, 2004年8月王小云报告在计算MD4时可能发生杂凑冲撞。

一种MD4算法的变体，eD2k Hash算法，被用于eDonkey网络的eD2k链接之中，eDonkey2000、eMule等eD2k网络客户端可通过此算法识别文件。

MD4散列 
一般128位长的MD4散列被表示为32位的十六进制数字。以下是一个43位长的ASCII字母列的MD4散列：

 MD4("The quick brown fox jumps over the lazy dog") = 1bee69a46ba811185c194762abaeae90

即使在原文中作一个小变化（比如用c取代d）其散列也会发生巨大的变化：

 MD4("The quick brown fox jumps over the lazy cog") = b86e130ce7028da59e672d56ad0113df

空文的散列为：

 MD4("") = 31d6cfe0d16ae931b73c59d7e0c089c0

密码散列函数
已攻破的散列函数