Dekripsi Hash MD5: Kapan Lookup Bekerja, Kapan Tidak
"Dekripsi" adalah kata yang salah, tetapi pertanyaan praktis di baliknya nyata: tempel string hex 32 karakter ke dalam tabel lookup balik dan input asli kadang muncul, kadang tidak. Perbedaannya tergantung apakah hash Anda dibuat dari sesuatu yang sudah dikenal oleh tabel yang dihitung sebelumnya. Halaman ini menelusuri tiga kasus yang menentukan jawabannya.
Terakhir ditinjau: 2026-05-20
| Properti | Nilai |
|---|---|
| Algoritma | MD5 (RFC 1321, 1992) |
| Keluaran | Digest 128-bit, ditampilkan sebagai 32 karakter hex |
| Arah balik | TIDAK didefinisikan oleh spec; lookup menggunakan tabel yang dihitung sebelumnya, bukan matematika |
| Alat implementasi | https://freetoolonline.com/developer-tools/md5-converter.html (satu arah: text -> hash) |
Tiga kasus yang menentukan apakah lookup akan bekerja
Kasus 1 - input kamus umum (lookup biasanya bekerja). Jika aslinya adalah kata pendek bahasa Inggris, password umum ("123456", "qwerty"), kombinasi nama-depan-plus-tahun yang sering, atau nilai apa pun yang pembangun rainbow table akan hash sebelumnya, lookup menemukannya seketika. Rainbow table publik untuk 10 juta password yang bocor teratas mencakup sebagian besar pemeriksaan kredensial berbasis reuse. Hash MD5 5f4dcc3b5aa765d61d8327deb882cf99 kembali menjadi "password" karena seseorang, di suatu tempat, sudah hash dan menyimpan kedua sisi.
Kasus 2 - input acak pendek (lookup akhirnya bekerja melalui brute force). Input alfabet huruf kecil 8 karakter memiliki sekitar 208 miliar kemungkinan (26 pangkat 8). Pada GPU konsumen kelas menengah yang menjalankan hashcat, throughput MD5 sekitar 50 miliar percobaan per detik pada hardware kelas 2026, yang berarti seluruh ruang 8 karakter disapu dalam waktu sekitar 4 detik. Input pendek yang tampak acak (kunci lisensi, token pendek, OTP 6 digit yang sudah digunakan) jatuh ke pendekatan ini tanpa precomputasi. Semakin pendek input, semakin dekat brute force mendekati instan.
Kasus 3 - input acak panjang (lookup TIDAK bekerja dalam praktik). Input acak 16 karakter yang ditarik dari set ASCII printable 95-karakter penuh memiliki sekitar 5 * 10^31 kemungkinan. Pada 50 miliar percobaan per detik, menyapu seluruh ruang membutuhkan waktu lebih lama dari usia alam semesta. Hash itu sendiri masih dapat dibalik secara matematis (collisions ada berdasarkan pigeonhole), tetapi tidak ada tabel precomputed yang mencakup ruang ini dan tidak ada run brute-force yang selesai dalam waktu manusia. Ini adalah kasus yang dimaksud komunitas kriptografi ketika mengatakan MD5 satu arah "dalam praktik".
Apa artinya ini untuk hash yang Anda miliki sekarang
Hash itu sendiri tidak memberi tahu Anda kasus mana Anda berada - 32 karakter hex terlihat identik terlepas dari panjang atau entropi input. Tiga pemeriksaan cepat mempersempit pertanyaan kelayakan praktis:
- Coba dulu layanan rainbow table publik. Jika jawaban kembali dalam waktu kurang dari satu detik, input adalah Kasus 1 (kamus). Hasil lookup memberi tahu Anda input - dan memberi tahu Anda bahwa input cukup lemah sehingga siapa pun dengan hash itu dan koneksi internet juga bisa menemukannya.
- Perkirakan panjang input. Jika Anda tahu sumber menghasilkan kunci acak 8 karakter atau lebih pendek, Kasus 2 berlaku dan pencarian brute force akan selesai dalam hitungan detik hingga jam pada satu GPU. Jika sumber menghasilkan 16+ karakter acak dari alfabet luas, Kasus 3 berlaku dan jawaban praktisnya adalah "tidak bisa".
- Periksa domain sumber. Password pengguna (terutama yang lama, terutama tanpa salt) biasanya Kasus 1 atau Kasus 2. Token API, cookie sesi, dan byte acak yang dihasilkan library biasanya Kasus 3. Hash yang di-salt (di mana input adalah "salt + rahasia") memindahkan seluruh pertanyaan ke Kasus 3 terlepas dari panjang rahasia karena salt memperluas input efektif.
Mengapa "dekripsi" adalah kosakata yang salah
Enkripsi adalah dua arah berdasarkan desain - algoritma yang sama berjalan ke depan (enkripsi) dan ke belakang (dekripsi) dengan kunci yang dipegang pengguna sah. Hashing adalah satu arah berdasarkan desain - algoritma hanya berjalan ke depan, dan tidak ada fungsi invers dalam spec sama sekali. Apa yang layanan lookup publik sebut "dekripsi MD5" adalah lookup balik yang dihitung sebelumnya: mereka hash miliaran input umum sebelumnya dan menyimpan kedua sisi, sehingga langkah "dekripsi" hanyalah query database terhadap indeks yang dibangun sebelumnya itu. Matematika di balik MD5 tidak melakukan apa pun selama lookup; databaselah yang melakukan pekerjaan. Mengapa MD5 tidak bisa didekripsi menelusuri detail kriptografis untuk pembaca yang penasaran matematika; Alat dekripsi MD5 online menjelaskan mengapa situs yang mengklaim "mendekripsi" hash apa pun salah menamai operasi.
Bacaan terkait di situs ini
- MD5 decode - kebenaran satu arah yang sama dibingkai dari sudut kosakata "decode".
- Membaca dan membandingkan hash MD5 dengan benar - case, spasi, dan format hex saat memverifikasi hash terhadap nilai yang diharapkan.
- Alternatif MD5 (bcrypt, Argon2id, SHA-256): kapan masing-masing cocok - jika tujuannya adalah penyimpanan password, tidak satu pun dari tiga kasus ini berlaku dan algoritma berbeda menjawab pertanyaan nyata.
- https://freetoolonline.com/developer-tools/md5-converter.html - alat yang menjalankan arah maju (text masuk, hash keluar) ketika Anda perlu memverifikasi hash yang diberikan seseorang.