哈希碰撞概率
输入哈希空间位数与已存入的条目数量,工具用生日攻击模型估算发生碰撞的概率,提醒在 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 位以上加密哈希。