Initializing, please wait a moment

Alternatif MD5: bcrypt vs Argon2id vs SHA-256 - Kapan Masing-Masing Cocok

Terakhir ditinjau 2026-05-02. Jika Anda tiba di sini mencoba memulihkan kata sandi teks polos dari hash MD5, baca Why MD5 Cannot Be Decrypted dulu - jawaban singkatnya adalah tidak ada kunci, dan pencarian rainbow-table hanya bekerja untuk input yang sangat umum. Halaman ini mencakup apa yang harus digunakan, berdasarkan kasus penggunaan.

Jawaban 30 detik. Alternatif MD5 yang tepat bergantung pada pekerjaannya. Menyimpan kata sandi? Gunakan Argon2id (rekomendasi OWASP saat ini) atau bcrypt (dukungan pustaka luas). Melindungi integritas dari musuh? Gunakan SHA-256 dengan HMAC. Mengambil kunci dari kata sandi? Gunakan PBKDF2 (lingkungan yang memerlukan FIPS) atau Argon2id di tempat lain. Kunci cache, ETag, deduplikasi pada data non-adversarial? MD5 masih baik - jalankan melalui konverter MD5.

Keputusan dalam satu tabel

Kasus penggunaanPilihMengapaJangan pilih MD5 karena
Menyimpan kata sandi pengguna (web, ponsel, API)Argon2id (lebih disukai), bcrypt (cadangan)Memori-keras + biaya yang dapat disetel; menahan brute-force GPUMD5 terlalu cepat - GPU melakukan hash miliaran/detik, kata sandi umum jatuh dalam milidetik
DB kata sandi MD5 yang ada (warisan)Migrasi ke Argon2id pada login berikutnyaBungkus MD5(sandi) di dalam Argon2id selama reset bergulirHash MD5 polos bocor cepat; asumsikan kompromi pada pengungkapan
Integritas file vs input adversarialSHA-256Serangan tabrakan praktis terhadap MD5 sejak 2004; SHA-256 masih amanPenyerang dapat membuat dua file berbeda yang berbagi MD5
Integritas file vs kerusakan acak sajaMD5 atau SHA-256 (keduanya oke)Data alami tidak bertabrakan dengan MD5 dalam praktik(MD5 dapat diterima di sini; pilih berdasarkan kenyamanan toolchain)
Autentikasi pesan (HMAC)HMAC-SHA-256HMAC menambahkan kunci ke hash; HMAC-MD5 rusak dalam praktikHMAC-MD5 sudah usang oleh NIST dan IETF
Derivasi kunci dari kata sandiArgon2id (lebih disukai), PBKDF2 (FIPS)Dirancang untuk derivasi kata-sandi-ke-kunci dengan faktor biayaMD5 tidak memiliki faktor biaya; menghasilkan digest yang sama dalam nanodetik
Kunci cache, ETag, kunci dedupMD5 (oke)Sidik jari panjang tetap dari input sembarang; tabrakan tidak penting untuk data non-adversarial(di sinilah MD5 masih layak)
Penyimpanan beralamat konten (CAS) di bawah pengaruh penyerangSHA-256Serangan tabrakan akan membiarkan penyerang menggantikan konten dengan alamat yang samaMD5 tidak dapat menjamin keunikan terhadap input yang dibuat

Argon2id vs bcrypt untuk kata sandi

Argon2id adalah hash kata sandi yang direkomendasikan OWASP sejak 2022. Memori-keras, artinya penyerang GPU harus mengalokasikan ratusan megabyte per tebakan paralel. Titik awal yang direkomendasikan adalah Argon2id, m=64MB, t=3, p=4. Faktor biaya berskala dengan perangkat keras: evaluasi ulang setiap dua tahun dan tingkatkan parameternya.

bcrypt adalah peringkat kedua yang didukung dengan baik. Lebih tua (1999), menggunakan faktor biaya yang dapat disetel yang dinyatakan sebagai log2 dari iterasi (biaya 12 pada saat penulisan). Tidak memori-keras, yang merupakan kelemahan utamanya vs Argon2id, tetapi dukungan pustakanya di setiap framework web lebih luas. Pilih bcrypt hanya jika platform Anda belum memiliki binding Argon2id yang dipelihara.

Keduanya benar pada 2026. Jangan simpan kata sandi sebagai MD5 + salt - skema itu jatuh ke satu GPU dalam beberapa hari bahkan dengan salt acak yang panjang, karena MD5 adalah bottleneck, bukan salting.

SHA-256 vs MD5 untuk integritas

Jika input dapat dibuat oleh penyerang, gunakan SHA-256. Serangan Wang 2004 dan tabrakan Stevens / Lenstra 2008 terhadap sertifikat X.509 menunjukkan bahwa dua input berbeda dapat dibuat berbagi satu MD5. Untuk tanda tangan digital, penandatanganan kode, atau apa pun di mana penyerang dapat menggantikan konten mereka dengan milik Anda, MD5 rusak; SHA-256 adalah primitif yang tepat.

Jika input hanyalah unduhan yang Anda kendalikan atau artefak build yang Anda hasilkan, MD5 masih baik untuk pemeriksaan integritas. Ia menangkap pembalikan bit acak yang sebenarnya Anda lihat dalam praktik (sinar kosmik, kabel buruk, disk buruk). Set lengkap trade-off MD5 vs SHA-256 ada di MD5 vs SHA-256 - kapan hash dengan masing-masing.

PBKDF2 - jalur FIPS

PBKDF2 adalah fungsi derivasi kunci berbasis kata sandi yang diberkati NIST pada 2000. Berbasis iterasi: Anda memilih hitungan, menjalankan hash yang mendasarinya sebanyak itu, dan faktor kerja mengikuti. Tidak memori-keras, jadi lebih lemah dari Argon2id terhadap GPU modern, tetapi merupakan pilihan yang tepat ketika lingkungan Anda memerlukan algoritma FIPS 140-2 / 140-3. Hitungan iterasi yang digunakan pada 2026 dengan HMAC-SHA-256 di bawahnya adalah 600.000 atau lebih tinggi per panduan OWASP; dengan HMAC-SHA-512 adalah 210.000 atau lebih tinggi. Angka yang lebih rendah masih umum dalam kode warisan; naikkan pada deploy berikutnya.

"Di mana MD5 masih cocok" - daftar kerja

  • Kunci cache. Hash URL panjang atau string query menjadi kunci panjang tetap untuk memcached, Redis, atau nama file. Tabrakan tidak penting; kecepatan penting.
  • Sidik jari konten gaya ETag. Pancarkan MD5 dari body respons sebagai header ETag sehingga klien dapat memvalidasi ulang tanpa mengunduh ulang.
  • Pemeriksaan integritas file pada unduhan yang Anda hasilkan. Publikasikan MD5 di samping file; pengguna membandingkan secara lokal. Banyak mirror Linux masih mempublikasikan MD5 dan SHA-256 untuk kompatibilitas.
  • Deduplikasi unggahan masuk. Sidik jari aliran byte dengan MD5 untuk memperpendek penyimpanan duplikat yang persis sebelum Anda menyimpannya.
  • Fixture pengujian dan ID snapshot. Hash blob JSON kanonik untuk menghasilkan ID deterministik untuk fixture uji unit.

Untuk semua itu, konverter MD5 adalah permukaan yang tepat - tempel teks, dapatkan hash, salin hasilnya.

Daftar periksa migrasi - memindahkan aplikasi yang ada dari MD5

  1. Audit di mana MD5 digunakan. Grep basis kode untuk md5, MessageDigest.getInstance("MD5"), hashlib.md5, crypto.createHash('md5'). Beri tag setiap penggunaan sebagai salah satu dari: kata sandi, MAC, integritas, cache.
  2. Kata sandi - migrasi bergulir. Tambahkan verifier Argon2id di samping verifier MD5. Pada login berikutnya yang berhasil, hitung ulang kata sandi di bawah Argon2id, simpan verifier baru, jatuhkan baris MD5. Putar setiap akun dalam 90 hari; paksa-reset apa pun yang tersisa.
  3. MAC - ganti dengan HMAC-SHA-256. Deployment HMAC-MD5 era 2010-an dari API harus memutar kunci dan menerbitkan ulang klien dengan HMAC-SHA-256.
  4. Integritas adversarial - ganti dengan SHA-256. Apa pun yang menandatangani konten yang diunggah pengguna, distribusi paket, atau kode pihak ketiga langsung beralih ke SHA-256.
  5. Integritas non-adversarial, cache, ETag, dedup - biarkan saja. Jangan mengaduk-aduk kode yang berfungsi karena alasan teoretis. MD5 baik-baik saja di sini.

Terkait

Why trust these tools

  • Ten-plus years of web tooling. The freetoolonline editorial team has shipped browser-based utilities since 2015. The goal has never changed: get you to a working output fast, without an install.
  • Truly in-browser - no upload. Every file-processing tool on this site runs in your browser through modern Web APIs (File, FileReader, Canvas, Web Audio, WebGL, Web Workers). Your photo, PDF, audio, or text never leaves your device.
  • No tracking during tool use. Analytics ends at the page view. The actual input you paste, drop, or capture is never sent to any server and never written to any log.
  • Open-source core components. The processing engines underneath (libheif, libde265, pdf-lib, terser, clean-css, ffmpeg.wasm, and others) are public and audit-able. We link to each one in its tool page's footer.
  • Free, with or without ads. All tools are fully functional without sign-up. The Disable Ads button in the header is always available if you need a distraction-free run.