ハッシュ衝突確率計算機(誕生日のパラドックス)
与えられたハッシュサイズとアイテム数のハッシュまたはID衝突が少なくとも1回発生する確率を、誕生日のパラドックス公式を使用して計算します。また、50%、1%、0.01%、またはカスタム衝突リスクに達するために必要なアイテム数も計算します。
入力
ハッシュまたはIDが取ることができる異なる値の数 (2^bits)。
生成されるランダムハッシュ/IDの数。通常の数値または1e12のような科学記法を受け入れます。
以下の50% / 1% / 0.01%のしきい値も常に表示されます。
出力
衝突確率の結果
| メトリック | 値 |
|---|---|
| No data yet | |
このツールを使う他の方法
REST API
curl -X POST https://api.iotools.cloud/v1/tool/hash-collision-probability-calculator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"hashSize": "256",
"items": "1000000",
"targetProbability": "50"
}'ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。
AIエージェントに依頼する
Use the IOTools `hash-collision-probability-calculator` tool (Hash Collision Probability Calculator (Birthday Problem)) on this input:
YOUR_INPUT_HEREIOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。
埋め込みウィジェット
<iframe
src="https://iotools.cloud/embed/hash-collision-probability-calculator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="ハッシュ衝突確率計算機(誕生日のパラドックス) — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。
| API/MCP 1回あたりの費用 | 5クレジットから |
|---|---|
| クレジットが足りませんか? | 料金を見る |
次の方法でも利用可能
ガイド
機能
このツールは「誕生日のパラドックス」の背後にある質問に答えます。多くのランダムなハッシュまたはIDを生成する場合、そのうちの2つが同じになる可能性はどのくらいですか? 標準的な誕生日のパラドックス近似を使用します
P(collision) ≈ 1 - e^(-n(n-1) / 2H)ここで n は生成するアイテムの数、H はハッシュまたはID空間のサイズ (2^bits — 例えば SHA-256 の場合は 2^256、UUID v4 のランダムビットの場合は 2^122) です。結果は直感と大きく異なることが多いです。128ビット空間の場合、2つが一致する確率が50%になるまでに約2^64 (およそ18五重項) のランダム値だけが必要です。これは期待できる2^128よりはるかに少ないです。
使い方
- ドロップダウンからハッシュサイズを選択します (MD5、SHA-1、SHA-256、SHA-512、UUID v4、CRC32)。または、カスタムビットサイズを選択して独自のビット幅を設定します。
- 生成する予定のアイテム数を入力します。通常の数値と科学記法の両方が機能します。10億の場合は
1e9と入力します。 - そのアイテム数で少なくとも1回の衝突が発生する確率を確認してください。
- テーブルには、50%、1%、または0.01%の衝突リスクに達するために必要なアイテム数も常に表示されます。さらに、スライダーを使用して他の目標確率のアイテム数を検索できます。
数学になぜ注意が必要なのか
これを手で解く(またはチャットアシスタントに「計算してください」と依頼する)は、通常スケーリングで失敗します。2^256には78桁があり、単純な計算機はオーバーフローするか、指数を静かに切り詰めて無意味な確率を与えます。このツールはすべての計算をlog2空間に保ちます。ハッシュ空間自体は巨大な数として実体化されないため、ハッシュサイズがどれほど大きくても正確なままで、内部では expm1 を使用するため、非常に小さい衝突確率がゼロに丸められません。
Gitコミット SHA-1またはショートデータベースIDが衝突するまでに何項目必要ですか?
同じ公式ですが、より小さい空間です。7文字の短いGitハッシュは28ビットです。カスタムビットサイズを選択して28に設定すると、短いハッシュ衝突が発生する可能性が出てくるのに必要なコミット数が表示されます。同じアプローチは、自動インクリメント ID空間、セッショントークン長、またはサイズを設定しているショートリンクスラッグに対して機能します。
プライバシー
すべてはブラウザで実行されます。入力した数値は何も送信されません。
関連ツール
実システムでこのタイプの衝突を避けるためにハッシュサイズを選択する場合、意図的な誤検知率に対する実際のビット予算を調整することは関連する問題です。ブルームフィルターパラメーター計算機を参照してください。ハッシュ自体を生成するには、ハッシュジェネレータまたはUUIDジェネレータを使用します。