Lewati ke konten utama

Kalkulator Probabilitas Tabrakan Hash (Paradoks Ulang Tahun)

Hitung probabilitas setidaknya satu tabrakan hash atau ID untuk ukuran hash dan jumlah item yang diberikan, menggunakan formula paradoks ulang tahun — plus berapa banyak item yang diperlukan untuk mencapai risiko tabrakan 50%, 1%, 0,01%, atau khusus.

Input

Jumlah nilai unik yang berbeda dapat diambil oleh hash atau ID (2^bits).

Berapa banyak hash/ID acak yang dihasilkan. Menerima angka biasa atau notasi ilmiah seperti 1e12.

Ambang 50% / 1% / 0,01% di bawah juga selalu ditampilkan.

Output

Hasil Probabilitas Tabrakan

Hasil
MetrikNilai
No data yet
Menggunakan perkiraan paradoks ulang tahun standar P = 1 - e^(-n(n-1)/2H), di mana H adalah ukuran ruang hash/ID. Angka "Item yang diperlukan" adalah jumlah item di mana formula tersebut melintasi probabilitas yang diberikan — semuanya berjalan di browser Anda, tidak ada yang Anda masukkan yang dikirim ke mana pun.
Apakah ini membantu?

Cara lain menggunakan alat ini

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"
  }'

Ganti dengan kunci Anda sendiri dari akun Anda. Bidang alat menjadi isi permintaan — tanpa pembungkus.

Tanyakan ke agen AI

Use the IOTools `hash-collision-probability-calculator` tool (Hash Collision Probability Calculator (Birthday Problem)) on this input:

YOUR_INPUT_HERE

Tempelkan ini ke agen mana pun yang terhubung ke server MCP IOTools, lalu tambahkan input Anda.

Widget sematan

<iframe
  src="https://iotools.cloud/embed/hash-collision-probability-calculator/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Kalkulator Probabilitas Tabrakan Hash (Paradoks Ulang Tahun) — 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>

Tempelkan ini di halaman Anda sendiri — gratis, tanpa kunci, cukup tautan balik.

Biaya per panggilan API/MCPMulai dari 5 kredit
Butuh kredit lebih?Lihat harga

Juga tersedia melalui

Panduan

Yang dilakukan

Kalkulator ini menjawab pertanyaan di balik "paradoks ulang tahun": jika Anda membuat banyak hash atau ID acak, seberapa besar kemungkinan bahwa dua di antaranya ternyata identik? Ini menggunakan perkiraan paradoks ulang tahun standar

P(collision) ≈ 1 - e^(-n(n-1) / 2H)

di mana n adalah jumlah item yang Anda hasilkan dan H adalah ukuran ruang hash atau ID (2^bits — misalnya 2^256 untuk SHA-256, atau 2^122 untuk bit acak dalam UUID v4). Hasilnya seringkali sangat berbeda dari intuisi: dengan ruang 128-bit, Anda hanya memerlukan sekitar 2^64 (kira-kira 18 kuintilion) nilai acak sebelum ada peluang 50% dua di antaranya cocok — jauh lebih sedikit dari 2^128 yang mungkin Anda harapkan.

Cara menggunakan

  1. Pilih ukuran hash dari dropdown (MD5, SHA-1, SHA-256, SHA-512, UUID v4, CRC32) atau pilih Ukuran bit khusus dan atur lebar bit Anda sendiri.
  2. Masukkan jumlah item yang Anda rencanakan untuk dihasilkan. Angka biasa dan notasi ilmiah keduanya berfungsi — ketik 1e9 untuk satu miliar.
  3. Baca probabilitas setidaknya satu tabrakan untuk banyak item tersebut.
  4. Tabel ini juga selalu menunjukkan berapa banyak item yang diperlukan untuk mencapai risiko tabrakan 50%, 1%, atau 0,01%, plus slider untuk mencari jumlah item untuk probabilitas target lainnya.

Mengapa matematika membutuhkan kehati-hatian

Mengerjakannya dengan tangan (atau meminta asisten obrolan untuk "hanya menghitungnya") biasanya gagal dalam skala: 2^256 memiliki 78 digit, dan kalkulator naif baik overflow atau diam-diam memotong eksponen, memberikan probabilitas yang tidak masuk akal. Alat ini menjaga setiap perhitungan dalam ruang log2 — ruang hash itu sendiri tidak pernah diwujudkan sebagai angka raksasa — jadi tetap akurat tidak peduli seberapa besar ukuran hash, dan menggunakan expm1 secara internal sehingga probabilitas tabrakan yang sangat kecil tidak dibulatkan menjadi nol.

Berapa banyak item sampai SHA-1 komit git atau ID database pendek bertabrakan?

Formula yang sama, ruang lebih kecil. Hash git pendek 7 karakter adalah 28 bit — pilih Ukuran bit khusus dan atur ke 28 untuk melihat berapa sedikit komit yang diperlukan sebelum tabrakan hash pendek menjadi kemungkinan. Pendekatan yang sama berfungsi untuk ruang ID yang bertambah otomatis, panjang token sesi, atau ukuran slug tautan pendek apa pun.

Privasi

Semuanya berjalan di browser Anda — angka yang Anda masukkan tidak pernah dikirim ke mana pun.

Alat terkait

Jika Anda memilih ukuran hash untuk menghindari jenis tabrakan ini dalam sistem nyata, mengukur anggaran bit aktual Anda untuk laju positif palsu yang disengaja adalah masalah terkait — lihat Kalkulator Parameter Filter Bloom. Untuk membuat hash itu sendiri, gunakan Generator Hash atau Generator UUID.

birthday paradoxbirthday problembirthday attackcollision probabilityuuid collision oddssha-256 collisionmd5 collisionhash collision oddspigeonhole principlerandom id collision

Suka alat-alatnya? Hilangkan iklannya.

Satu kali pembayaran menghapus semua iklan dari akun Anda, selamanya. Tanpa langganan, tanpa pelacakan.