アイテム間の衝突を避けるために必要なハッシュ値はいくつありN
ますか? 誕生日のパラドックスを思い出すと、答えは よりもはるかに小さくなりN
ます。
質問を逆にしてみましょう:N=16^10
短縮された git リビジョン コードの 10 桁の 16 進数に対応する可能なハッシュ値について、リビジョン ハッシュの一致の確率が 50% に上昇するリビジョンの数は? 直接計算すると、1234603 個のリビジョンがある場合、そのうちの 2 つが同じ 10 桁のハッシュを持つ確率は 50% です。
現在、大規模なアクティブなリポジトリでは、100 万回ほどのリビジョンが前例のないものではありません。あなたの仕事で git ハッシュの衝突を経験した人はいますか? 理論的に言えば、そうなるはずだった。