汉语宝典

哈希碰撞概率

输入哈希空间位数与已存入的条目数量,工具用生日攻击模型估算发生碰撞的概率,提醒在 n 接近 √2^bits 时风险显著上升。

#️⃣ Hash Collision Probability

Estimate birthday-paradox collision probability from hash-space bits and stored item count; risk rises sharply as n approaches the square root of 2^bits.

📐 计算公式与说明

P ≈ 1 − e^(−n(n−1)/(2·2ᵇⁱᵗˢ))

当 n 接近 √2^bits 时碰撞概率显著上升。

📚 深度解析:哈希碰撞概率

💡 常见使用场景

  • 去重/分桶设计:评估哈希桶规模接近平方根时冲突陡增的风险。
  • 唯一 ID 规划:为短 ID 选择足够位宽以控制业务内碰撞率。
  • 安全边界:说明短哈希用于标识而非防碰撞的极限。
示例:32 位哈希、7.7 万条
约 5 万条时碰撞概率已近 1%,接近 √(2^32)≈6.5 万后快速上升,需升到 64 位。

❓ 常见问题(FAQ)

为何是平方根?
生日悖论下碰撞概率在条目数约 √(2·2^bits) 量级开始显著,而非 2^bits。
碰撞了怎么办?
业务去重应级联二次校验(如原值比对),不能只信哈希相等。
多大空间才安全?
抗意外碰撞 64 位通常足够;抗故意碰撞需 128 位以上加密哈希。