Generator & Verifier Hash Bcrypt
Buat dan verifikasi hash kata sandi bcrypt online — biaya yang dapat diatur, prefiks $2b$/$2a$/$2y$. 100% di browser Anda; kata sandi tidak pernah diunggah.
Apa Itu Bcrypt?
Bcrypt adalah fungsi hashing kata sandi yang dirancang khusus untuk menyimpan kata sandi secara aman. Alih-alih menyimpan kata sandi dalam bentuk plaintext, server menyimpan hash bcrypt satu arah; ketika pengguna login, server meng-hash kata sandi yang dikirim dengan cara yang sama dan memeriksa bahwa kedua hash cocok. Bcrypt dibangun di atas cipher Blowfish dan dirancang oleh Niels Provos dan David Mazières pada 1999, dengan satu fitur sengaja yang membedakannya dari hash serbaguna seperti SHA-256: bcrypt lambat dengan sengaja, dan Anda dapat membuatnya lebih lambat seiring waktu dengan faktor biaya yang dapat diatur saat perangkat keras menjadi lebih cepat.
Hash bcrypt adalah satu string sepanjang 60 karakter yang menggambarkan dirinya sendiri — misalnya $2b$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq. String ini mengemas empat bagian: versi ($2b$), biaya (12, sebuah work factor logaritmik), salt Base64 sepanjang 22 karakter, dan digest Base64 sepanjang 31 karakter. Karena salt bersifat acak dan tertanam dalam hash, kata sandi yang sama menghasilkan hash berbeda setiap kali — yang menggagalkan tabel pelangi dan menyembunyikan fakta bahwa dua pengguna memilih kata sandi yang sama. Verifikasi membaca kembali salt dan biaya dari hash tersimpan dan me-hash ulang kandidat, sehingga bcrypt tidak pernah perlu (dan tidak dapat) membalik hash untuk memulihkan kata sandi.
Alat ini berjalan sepenuhnya di browser Anda menggunakan implementasi bcrypt yang dipaketkan — tidak ada kata sandi atau hash yang pernah diunggah. Gunakan untuk membuat hash dengan biaya dan prefiks yang dipilih, untuk memverifikasi kata sandi terhadap hash yang ada, dan untuk membaca anatomi sebuah hash. Alat ini berpasangan secara alami dengan alat keamanan lainnya: lindungi sebuah direktori dengan HTTP Basic Auth menggunakan Generator htpasswd kami (yang dapat memancarkan entri bcrypt secara langsung), cetak kata sandi kuat untuk di-hash dengan Generator Kata Sandi Acak kami, dan gunakan Generator SHA-256 kami saat Anda membutuhkan checksum serbaguna yang cepat alih-alih hash kata sandi yang lambat. Jika Anda sedang memutuskan algoritma mana untuk menyimpan kata sandi, bandingkan opsinya di bcrypt vs Argon2 vs scrypt.
// Node.js — bcryptjs / bcrypt (emits $2b$)
const bcrypt = require('bcrypt');
const hash = await bcrypt.hash('correct horse battery staple', 12);
// -> $2b$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq
const ok = await bcrypt.compare('correct horse battery staple', hash); // true
# Python — bcrypt
import bcrypt
hashed = bcrypt.hashpw(b'correct horse battery staple', bcrypt.gensalt(12))
bcrypt.checkpw(b'correct horse battery staple', hashed) # True
# PHP — password_hash (emits $2y$)
$hash = password_hash('correct horse battery staple', PASSWORD_BCRYPT, ['cost' => 12]);
password_verify('correct horse battery staple', $hash); // true
# Apache htpasswd CLI — bcrypt entry to stdout (-B bcrypt, -b inline, -n stdout)
htpasswd -Bbn admin 'correct horse battery staple'
# -> admin:$2y$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq Fitur Utama
Buat Hash Bcrypt
Hasilkan hash bcrypt 60 karakter standar dari kata sandi apa pun dengan salt acak baru. Setiap klik menghasilkan hash valid yang berbeda, persis seperti penyimpanan kata sandi sungguhan.
Faktor Biaya yang Dapat Diatur
Setel work factor dari 4 hingga 15 (12 adalah default modern). Rasakan bagaimana setiap langkah kira-kira menggandakan waktu komputasi sehingga Anda dapat memilih biaya yang kuat namun cukup cepat untuk login.
Pilih Prefiks Versi
Pancarkan $2b$ (standar bcryptjs terkini), $2y$ (PHP / htpasswd Apache), atau $2a$ (yang asli). Semuanya dapat saling dipertukarkan untuk verifikasi lintas library.
Verifikasi Kata Sandi Terhadap Hash
Tempel hash tersimpan dan kata sandi kandidat untuk memastikan secara langsung apakah keduanya cocok — dengan me-hash ulang menggunakan salt dan biaya yang tertanam, tanpa pernah mendekripsi. Ideal untuk men-debug login yang gagal.
Rincian Anatomi Hash
Lihat hash bcrypt apa pun dipisahkan menjadi versi, biaya, salt, dan digest, sehingga struktur string $2b$12$... terlihat jelas dalam sekejap.
100% di Sisi Klien
Semua hashing dan verifikasi terjadi secara lokal di browser Anda. Tidak ada kata sandi atau hash yang pernah dikirim ke server, sehingga Anda dapat bekerja dengan kredensial nyata secara privat.
Contoh Generator Bcrypt
hash bcrypt (biaya 12, $2b$)
password: correct horse battery staple cost: 12 prefix: $2b$
$2b$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq
Hash bcrypt pada biaya 12 dengan prefiks $2b$. Salt bersifat acak, sehingga kata sandi yang sama menghasilkan hash berbeda setiap kali — namun semuanya tetap terverifikasi terhadap kata sandi aslinya.
Verifikasi kata sandi terhadap sebuah hash
password: correct horse battery staple hash: $2b$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq
✓ Cocok — kata sandi benar untuk hash ini
Verifikasi tidak mendekripsi hash. bcrypt me-hash ulang kata sandi kandidat menggunakan salt dan biaya yang tertanam dalam hash tersimpan, lalu membandingkan hasilnya. Kecocokan berarti kata sandi benar.
Rincian anatomi hash
$2b$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq
version: $2b$ · cost: 12 · salt: dUSFKqT1FCMYZ6hcQfsxuO · digest: NizEqcX8IGK8snfVSowP5Uu.TDJoPUq
Setiap hash bcrypt menggambarkan dirinya sendiri: tag versi, biaya dua digit, salt Base64 sepanjang 22 karakter, dan digest Base64 sepanjang 31 karakter, semuanya dalam satu string sepanjang 60 karakter. Alat ini memisahkannya agar Anda dapat membacanya sekilas.
Cara Menggunakan Generator Bcrypt
- 1
Masukkan Kata Sandi & Pilih Biaya
Pada tab Buat, ketik kata sandi atau klik Kata sandi acak. Pilih faktor biaya (4–15; 12 adalah default modern) dan prefiks versi — $2b$, $2a$, atau $2y$ — agar sesuai dengan stack Anda.
- 2
Buat Hash
Hash bcrypt dihitung secara lokal dengan salt acak baru dan muncul sebagai satu string $2b$12$... sepanjang 60 karakter. Klik Salin untuk mengambilnya, atau buat ulang untuk hash ber-salt baru.
- 3
Baca Anatomi atau Verifikasi
Panel anatomi memisahkan hash menjadi versi, biaya, salt, dan digest. Beralih ke tab Verifikasi untuk menempel hash tersimpan dan kata sandi dan memastikan secara langsung apakah keduanya cocok.
Common Errors
Mencoba Mendekripsi Hash
Bcrypt bersifat satu arah; tidak ada dekripsi. Untuk memeriksa kata sandi, verifikasi terhadap hash alih-alih mencoba membalik digest.
bcrypt.decrypt(hash) // no such operation
bcrypt.compare(password, hash) // returns true / false
Mengatur Biaya Terlalu Rendah
Biaya rendah seperti 4 atau 6 meng-hash hampir seketika, yang juga membuat penyerang dapat melakukan brute-force terhadap hash bocor dengan cepat. Gunakan 12 sebagai baseline.
cost: 4 // far too fast, weak against brute force
cost: 12 // modern default, resists brute force
Mengharapkan Hash yang Sama Dua Kali
Karena salt bersifat acak, meng-hash kata sandi yang sama lagi menghasilkan string yang berbeda. Bandingkan dengan verify, jangan pernah dengan memeriksa kesetaraan byte dua hash.
hash(pw) === storedHash // fails — different salts
bcrypt.compare(pw, storedHash) // correct check
Kasus Penggunaan Umum
- Isi Hash Kata Sandi di Database
- Buat hash bcrypt untuk akun admin atau uji dan masukkan langsung ke tabel pengguna Anda, sehingga Anda dapat login tanpa harus menyiapkan alur pendaftaran lengkap terlebih dahulu.
- Debug Login yang Gagal
- Verifikasi kata sandi yang diketahui benar terhadap hash tersimpan untuk memastikan apakah hash itu sendiri sudah benar, memisahkan bug dari kode autentikasi Anda.
- Pilih Faktor Biaya yang Tepat
- Buat hash pada beberapa level biaya pada perangkat keras Anda sendiri untuk merasakan berapa lama waktu yang diperlukan setiap level, lalu pilih work factor yang tahan brute force tanpa memperlambat login nyata.
- Buat Entri htpasswd / Basic Auth
- Hasilkan hash bcrypt $2y$ untuk kredensial Apache, Docker Registry, atau Caddy, lalu masukkan ke baris user:hash untuk HTTP Basic Auth.
- Bangun Fixture Pengujian
- Cetak hash bcrypt yang deterministik-per-kata-sandi untuk mengisi pengujian integrasi alur login atau reset kata sandi tanpa menyiapkan server autentikasi nyata.
- Audit Hash yang Anda Temukan
- Baca anatomi string bcrypt dalam konfigurasi atau dump untuk memeriksa faktor biayanya, dan verifikasi terhadap kata sandi yang Anda harapkan untuk memastikan kecocokan.
Detail Teknis
- Berbasis Blowfish, Biaya Adaptif
- Bcrypt menurunkan hash-nya dari penyiapan kunci yang mahal pada cipher Blowfish, diulang 2^biaya kali. Menaikkan biaya satu langkah menggandakan kerjanya, menjaga fungsi tetap lambat terhadap brute force saat perangkat keras membaik.
- Salt Acak 128-Bit
- Setiap hash menanamkan salt acak 16-byte (128-bit), yang di-encode Base64 sebagai 22 karakter setelah biaya. Salt membuat setiap hash unik, sehingga kata sandi identik tidak pernah berbagi digest dan tabel pelangi tidak berlaku.
- Format 60 Karakter yang Menggambarkan Diri Sendiri
- Keluarannya adalah $version$cost$salt+digest — string tetap sepanjang 60 karakter yang membawa segala yang diperlukan untuk memverifikasinya. Tidak diperlukan kolom salt atau penyimpanan parameter terpisah.
- Batas Kata Sandi 72 Byte
- Bcrypt hanya meng-hash 72 byte pertama dari sebuah kata sandi; apa pun setelah itu diabaikan secara diam-diam. Untuk passphrase yang sangat panjang, pra-hashing (misalnya dengan SHA-256) sebelum bcrypt adalah mitigasi yang umum.
- Verifikasi, Jangan Dekripsi
- Bcrypt bersifat satu arah. Verifikasi menjalankan ulang hash pada kata sandi kandidat menggunakan salt dan biaya yang diurai dari hash tersimpan, lalu membandingkan digest dalam waktu konstan. Tidak ada operasi yang memulihkan plaintext.
- Catatan Kejujuran & Peringatan
- Hash dihitung secara lokal dan tidak pernah diperiksa terhadap sistem langsung. Hash yang disalin dan kata sandi apa pun yang Anda ketik tersimpan di clipboard dan memori browser Anda — perlakukan sebagai rahasia dan bersihkan clipboard Anda setelah menempel ke produksi.
Praktik Terbaik
- Gunakan Biaya 12 atau Lebih Tinggi
- Biaya 12 adalah baseline modern; naikkan ke arah 14 untuk sistem sensitif selama latensi login tetap dapat diterima. Evaluasi ulang secara berkala — yang cukup lambat lima tahun lalu murah untuk diserang hari ini.
- Jangan Pernah Menyimpan atau Mencatat Plaintext
- Simpan hanya hash bcrypt, jangan pernah kata sandi asli, dan jauhkan kata sandi dari log dan pesan kesalahan. Seluruh nilai bcrypt hilang jika plaintext bocor bersamanya.
- Biarkan bcrypt Menangani Salt
- Bcrypt menghasilkan dan menanamkan salt acak yang aman untuk Anda. Jangan menyediakan salt statis Anda sendiri atau menggunakannya kembali — salt acak per-hash itulah yang menggagalkan tabel pelangi.
- Perhatikan Batas 72 Byte
- Jika Anda menerima passphrase panjang, ingat bahwa bcrypt mengabaikan byte setelah 72. Pertimbangkan pra-hashing dengan SHA-256, atau evaluasi Argon2id, ketika input yang sangat panjang harus tercakup sepenuhnya.
FAQ Generator Bcrypt
Apakah generator bcrypt online aman digunakan?
Bagaimana cara membuat hash bcrypt online?
$2b$ untuk sebagian besar stack modern, $2y$ untuk PHP dan Apache, atau $2a$ untuk identifier asli. Hash bcrypt dihitung secara instan di browser Anda dengan salt acak baru dan muncul sebagai satu string $2b$12$... sepanjang 60 karakter yang dapat Anda salin dengan satu klik. Tidak ada yang diunggah: kata sandi dan hash tidak pernah meninggalkan perangkat Anda. Buat lagi kapan saja untuk mendapatkan hash valid lain untuk kata sandi yang sama, karena masing-masing membawa salt acak yang berbeda. Bisakah hash bcrypt didekripsi atau dibalik?
Faktor biaya (work factor) berapa yang sebaiknya saya gunakan?
Apa perbedaan antara $2a$, $2b$, dan $2y$?
$2a$ adalah identifier asli yang banyak digunakan; $2b$ adalah versi terkini yang dikoreksi yang dipancarkan oleh library bcryptjs dan sebagian besar implementasi modern; dan $2y$ adalah identifier yang digunakan oleh PHP dan htpasswd Apache. Untuk verifikasi keduanya dapat saling dipertukarkan — hash yang Anda buat di sini dengan prefiks apa pun akan tervalidasi dengan benar lintas library, karena semuanya menjalankan fungsi inti yang sama. Pilih prefiks yang diharapkan stack Anda jika Anda membutuhkan kompatibilitas byte-for-byte. Bagaimana cara memverifikasi kata sandi terhadap hash bcrypt?
$2b$12$...) dan kata sandi kandidat, dan alat ini langsung memberi tahu apakah keduanya cocok. Cara kerjanya adalah dengan mengekstrak salt dan biaya yang tertanam dalam hash, me-hash ulang kata sandi kandidat dengan parameter yang sama persis, dan membandingkan digest baru dengan yang tersimpan — tidak ada dekripsi yang terlibat. Inilah cara sistem login memeriksa kata sandi: sistem tidak pernah memulihkan plaintext, hanya memastikan bahwa me-hash ulang kata sandi yang dikirim menghasilkan hash tersimpan. bcrypt vs Argon2 vs scrypt — mana yang sebaiknya saya gunakan?
Mengapa hash bcrypt berbeda setiap kali?
Alat Terkait
Lihat semua alat →JWT Decoder
Alat Keamanan
Dekode token JWT online dengan dekoder JWT gratis kami. Periksa header, payload, tanda tangan, kedaluwarsa, dan klaim secara instan. 100% browser — token Anda tidak meninggalkan perangkat. Tanpa pendaftaran, tanpa pelacakan.
JWT Encoder & Generator
Alat Keamanan
Generator & encoder JWT online gratis. Susun header dan payload, tandatangani dengan HS256, RS256, atau ES256 secara instan. 100% di browser — secret dan key Anda tidak pernah meninggalkan perangkat.
MD5 Hash Generator & Alat Checksum File
Alat Keamanan
Hasilkan hash MD5, SHA-256, SHA-1 & SHA-512 secara online gratis. Hash teks atau file di browser Anda, verifikasi checksum dan salin hasil. Tanpa pendaftaran.
Generator Kata Sandi Acak Online — Kuat, Aman & Gratis
Alat Keamanan
Buat kata sandi acak yang kuat secara instan — gratis, tanpa pendaftaran, 100% di browser. Sesuaikan panjang & karakter, batch hingga 50 dengan analisis entropi.
SHA-1 Hash Generator (160-bit, Algoritma Usang)
Alat Keamanan
Hasilkan hash SHA-1 di browser — output hex 40 karakter, tanpa unggah. Algoritma usang untuk sidik jari Git, cek sertifikat lama, dan audit migrasi. Data tidak pernah meninggalkan perangkat Anda.
SHA-256 Hash Generator & Alat Checksum
Alat Keamanan
Hasilkan hash SHA-256 online gratis. Hash teks atau file di browser Anda, verifikasi checksum, dan salin output hex 64 karakter. Tanpa pendaftaran; data tidak pernah meninggalkan halaman.