Entry № 736
MD5
MD5 是什么?
MD5Ron Rivest 于 1992 年设计的 128 位密码学哈希函数;已被破解,可轻易构造实用碰撞,不得用于任何安全相关用途。
MD5(Message Digest 5)是由 RFC 1321 规定的 Merkle–Damgård 结构哈希函数,输出 128 位摘要。在 1990 至 2000 年代,它在数字签名、证书、密码存储与完整性校验中广泛使用。2004 年王小云等首次发表实用碰撞;此后选定前缀碰撞可在几分钟内完成,最著名的案例是 Flame 恶意软件(2012)伪造了一张微软签名证书的根 CA。MD5 已无碰撞抗性,原像抗性也很弱;NIST、PCI DSS、CA/Browser Forum 与 TLS 均明令禁止。不得将其用于签名、证书、密码存储(应使用 Argon2/scrypt/bcrypt)或新设计中。现代替代算法包括 SHA-256、SHA-3 与 BLAKE2/BLAKE3;MD5 仅在与安全无关的校验和及遗留兼容场景中残存。
● 示例
- 01
在只关心意外损坏而非恶意篡改的下载场景中,MD5 校验仍被使用。
- 02
Flame 恶意软件(2012)利用 MD5 选定前缀碰撞伪造了微软的代码签名证书。
● 常见问题
MD5 是什么?
Ron Rivest 于 1992 年设计的 128 位密码学哈希函数;已被破解,可轻易构造实用碰撞,不得用于任何安全相关用途。 它属于网络安全的 密码学 分类。
MD5 是什么意思?
Ron Rivest 于 1992 年设计的 128 位密码学哈希函数;已被破解,可轻易构造实用碰撞,不得用于任何安全相关用途。
如何防御 MD5?
针对 MD5 的防御通常结合技术控制与运营实践,详见上方完整定义。
MD5 还有哪些其他名称?
常见的别称包括: Message Digest 5。