Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 466

哈希碰撞(Hash Collision)

哈希碰撞(Hash Collision) 是什么?

哈希碰撞(Hash Collision)两个不同输入产生相同加密哈希值的情况,破坏依赖该哈希函数的完整性、唯一性与签名保证。


哈希碰撞是两个不同输入映射到同一哈希输出的情形。由于哈希函数将任意数据压缩到固定长度,碰撞在数学上必然存在,但安全哈希应使其在计算上不可行。一旦函数被攻破,攻击者可伪造证书、篡改已签名文档或替换二进制文件。MD5 自 2004 年(Wang 等人)起便可实际碰撞,并被 Flame 恶意软件用于伪造微软代码签名证书。SHA-1 在 2017 年被 Stevens 等人的 SHAttered 攻破。现代系统应使用 SHA-256SHA-3BLAKE2/BLAKE3 以获得抗碰撞性。

示例

  1. 01

    2017 年 Google 与 CWI 公布的 SHAttered:同一 SHA-1 散列的两份 PDF。

  2. 02

    Flame(2012)利用 MD5 的选择前缀碰撞伪造了 Microsoft Terminal Server 许可证书。

常见问题

哈希碰撞(Hash Collision) 是什么?

两个不同输入产生相同加密哈希值的情况,破坏依赖该哈希函数的完整性、唯一性与签名保证。 它属于网络安全的 密码学 分类。

哈希碰撞(Hash Collision) 是什么意思?

两个不同输入产生相同加密哈希值的情况,破坏依赖该哈希函数的完整性、唯一性与签名保证。

哈希碰撞(Hash Collision) 是如何工作的?

哈希碰撞是两个不同输入映射到同一哈希输出的情形。由于哈希函数将任意数据压缩到固定长度,碰撞在数学上必然存在,但安全哈希应使其在计算上不可行。一旦函数被攻破,攻击者可伪造证书、篡改已签名文档或替换二进制文件。MD5 自 2004 年(Wang 等人)起便可实际碰撞,并被 Flame 恶意软件用于伪造微软代码签名证书。SHA-1 在 2017 年被 Stevens 等人的 SHAttered 攻破。现代系统应使用 SHA-256、SHA-3 或 BLAKE2/BLAKE3 以获得抗碰撞性。

如何防御 哈希碰撞(Hash Collision)?

针对 哈希碰撞(Hash Collision) 的防御通常结合技术控制与运营实践,详见上方完整定义。

相关术语