Buat dan verifikasi hash kata sandi bcrypt. Konfigurasikan faktor kerja dan algoritma.
Salt acak 128-bit (16 byte) dibuat menggunakan CSPRNG. Salt mencegah serangan rainbow table โ kata sandi yang identik menghasilkan hash yang berbeda.
Algoritma Eksblowfish menjalankan 2^n iterasi (n adalah faktor biaya Anda). Menggandakan biaya menggandakan waktu komputasi โ membuat serangan brute-force proporsional lebih sulit.
Output mengkodekan segalanya: $2b$12$[salt 22 char][hash 31 char]. Prefiks "$2b$12$" memberitahu bcrypt untuk menggunakan cost=12. Tidak diperlukan kolom salt terpisah.
$2b$12$eImiTAiTAi25sDB8iBjEJfF2PbO0oagzXCgKCQfHIFnOSuJl.J2
$2b$Versi algoritma (2a, 2b, 2y)
12$Faktor biaya (2^12 = 4.096 putaran)
22 karakterSalt yang dikodekan Base64 (128 bit)
31 karakterHash yang dikodekan Base64 (184 bit)
| Biaya | Iterasi | Perkiraan Waktu | Rekomendasi |
|---|---|---|---|
| 10 | 1.024 | ~50-100ms | Minimum untuk aplikasi baru |
| 11 | 2.048 | ~100-200ms | Baik untuk API lalu lintas tinggi |
| 12 | 4.096 | ~200-400ms | Default yang direkomendasikan (2025) |
| 13 | 8.192 | ~400-800ms | Aplikasi keamanan tinggi |
| 14 | 16.384 | ~800ms-1.6s | Biaya praktis maksimum |
Waktu perkiraan pada CPU server modern. Selalu lakukan benchmark pada hardware target Anda.
Lihat juga Generator Hash untuk MD5, SHA-1, SHA-256, SHA-512 dan fungsi hash kriptografi lainnya.
Bcrypt adalah fungsi hash kata sandi yang dirancang oleh Niels Provos dan David Maziรจres untuk OpenBSD pada 1999. Tidak seperti MD5 atau SHA, bcrypt sengaja lambat dan intensif CPU, membuat serangan brute-force tidak praktis. Ini secara otomatis menggabungkan salt, mencegah serangan rainbow table. Gunakan bcrypt (atau Argon2) untuk semua penyimpanan kata sandi โ jangan pernah menyimpan kata sandi teks biasa atau hash cepat (MD5/SHA).
Faktor biaya (faktor kerja) mengontrol seberapa lambat bcrypt. Setiap kenaikan menggandakan waktu komputasi. Untuk autentikasi pengguna, targetkan waktu hash 100-300ms di hardware server Anda. Mulai dari 12 dan lakukan benchmark โ gunakan nilai tertinggi yang menjaga waktu login di bawah 500ms. Semakin tinggi semakin aman tetapi lebih lambat. Biaya 10 adalah minimum yang direkomendasikan untuk aplikasi baru di 2025.
Keduanya adalah algoritma hash kata sandi modern. Bcrypt telah teruji (25+ tahun) dan didukung secara luas. Argon2 memenangkan Password Hashing Competition (2015) dan lebih tahan terhadap serangan GPU dengan menggunakan intensitas memori. Argon2id (varian yang direkomendasikan) menggabungkan Argon2i dan Argon2d untuk ketahanan terhadap serangan saluran samping dan GPU. Untuk aplikasi baru, Argon2id adalah pilihan yang disukai.
Alat ini menghasilkan hash bcrypt standar yang kompatibel dengan pustaka bcrypt apa pun. Penghash-an berjalan sepenuhnya di browser Anda menggunakan pustaka bcryptjs โ tidak ada kata sandi yang dikirim ke server. Namun, selalu buat hash kata sandi di sisi server dalam aplikasi produksi. Demo sisi klien hanya untuk tujuan pembelajaran dan pengujian.
Semua proses hash dilakukan secara lokal di browser Anda. Kata sandi tidak pernah dikirimkan atau disimpan.