雜湊碰撞機率 使用指南
輸入雜湊空間位數與已存入的條目數量,工具用生日攻擊模型估算發生碰撞的機率,提醒在 n 接近 √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 位。
注意事項
本工具純前端執行,輸入內容不上傳伺服器;結果為按上述口徑得到的理論估算值。實際應用受裝置引數、測量條件與當地規範影響,請以裝置銘牌、檢測報告與現行標準為準,重大決策建議諮詢專業人士。
- 為何是平方根?
- 生日悖論下碰撞機率在條目數約 √(2·2^bits) 量級開始顯著,而非 2^bits。
- 碰撞了怎麼辦?
- 業務去重應級聯二次校驗(如原值比對),不能只信雜湊相等。
- 多大空間才安全?
- 抗意外碰撞 64 位通常足夠;抗故意碰撞需 128 位以上加密雜湊。