Konverter Gratis

Generator Kata Sandi Bcrypt

Buat hash bcrypt aman untuk kata sandi secara instan di browser Anda. Pilih faktor biaya dan hash di sisi klien — sepenuhnya privat dan gratis.

Tentang alat ini

bcrypt adalah fungsi hashing kata sandi yang dirancang oleh Niels Provos dan David Mazières pada tahun 1999, berasal dari sandi Blowfish. Tidak seperti fungsi hash tujuan umum seperti SHA-256, bcrypt sengaja dibuat lambat — dan dapat dikonfigurasi lambat, melalui parameter biaya — yang merupakan properti yang dibutuhkan oleh hasher kata sandi. Fungsi hash yang lebih cepat memungkinkan penyerang melakukan brute force terhadap lebih banyak kandidat per detik; yang lebih lambat membatasi mereka.

bcrypt juga menggabungkan garam per kata sandi secara otomatis, menghilangkan seluruh kelas serangan berdasarkan tabel pelangi yang telah dihitung sebelumnya. Parameter salt dan cost disimpan sebagai bagian dari output bcrypt, jadi verifikasi hanya memerlukan hash yang disimpan dan kata sandi kandidat — tidak ada pengelolaan salt terpisah. Kombinasi kelambatan, garam, dan format mandiri ini menjadikan bcrypt sebagai hash kata sandi default selama dua dekade dan merupakan pilihan yang kuat saat ini.

Alternatif modern memang ada. Argon2 memenangkan Kompetisi Hashing Kata Sandi 2015 dan menawarkan kekerasan memori serta kekerasan waktu. scrypt menawarkan properti serupa. Untuk desain baru, Argon2id adalah pilihan yang direkomendasikan. bcrypt tetap dapat diterima dan diterapkan secara luas, khususnya di lingkungan di mana Argon2 tidak tersedia.

Mengapa Hash Kata Sandi dengan bcrypt

Menyimpan kata sandi sebagai teks biasa adalah malpraktik. Menyimpannya dengan hash cepat seperti SHA-256 hampir tidak lebih baik — GPU modern menghitung miliaran hash SHA-256 per detik, membuat serangan brute force terhadap kata sandi umum dapat dilakukan dalam hitungan jam. Kelambatan bcrypt yang disengaja mengubah kondisi ekonomi: dengan faktor biaya 12, seorang penyerang menghabiskan sekitar 250 ms per kandidat kata sandi, menjadikan brute force tidak praktis untuk kata sandi non-sepele apa pun.

garam per kata sandi otomatis bcrypt juga mengalahkan serangan tabel pelangi. Dua pengguna dengan kata sandi yang sama menghasilkan hash bcrypt yang berbeda karena garamnya berbeda. Mengkompromikan database kata sandi tidak memungkinkan penyerang dengan cepat mengidentifikasi kata sandi umum atau hit tabel yang telah dihitung sebelumnya.

Cara menggunakan

Ketik kata sandi, pilih biaya, dapatkan hash.

  1. Masukkan kata sandi: Ketikkan kata sandi untuk hash. Alat ini sepenuhnya berjalan di browser Anda; kata sandi tidak dikirimkan ke mana pun.
  2. Pilih faktor biaya: Standarnya adalah 10, menghasilkan waktu hashing sekitar 100 ms pada perangkat keras modern. 12 direkomendasikan untuk aplikasi baru (250 ms). Nilai yang lebih tinggi meningkatkan keamanan dengan mengorbankan verifikasi yang lebih lambat.
  3. Menghasilkan: Hasher menghasilkan garam 16-byte acak, menjalankan derivasi kunci bcrypt, dan menghasilkan hash dalam format standar $2b$.
  4. Gunakan hashnya: Simpan keluaran lengkap ($2b$cost$saltAndHash) di database kata sandi Anda. Verifikasi menggunakan perpustakaan yang sama untuk membandingkan kandidat dengan hash yang disimpan.

Kasus Penggunaan Umum

Detail Teknis

bcrypt menggunakan fase pengaturan kunci sandi Blowfish yang dimodifikasi, diulangi sebanyak 2^kali biaya. Faktor biaya bersifat logaritmik — biaya 12 dua kali lebih lambat dari biaya 11, empat kali lebih lambat dari biaya 10. Penskalaan logaritmik ini memungkinkan administrator menaikkan biaya seiring dengan peningkatan perangkat keras, tanpa mendesain ulang sistem.

Format keluaran adalah $version$cost$saltAndHash dengan saltAndHash dikodekan base64 dengan alfabet khusus. Versinya biasanya $2b$ (varian modern dengan bug sampul yang diperbaiki) atau $2y$ (khusus PHP, setara). Garamnya adalah 16 byte; hashnya adalah 24 byte; bersama-sama mereka menyandikan ke 53 karakter custom-base64.

Panjang input maksimum adalah 72 byte (batas panjang kunci Blowfish). Kata sandi yang lebih panjang akan terpotong secara diam-diam, yang merupakan kekhasan bcrypt yang sudah lama ada. Praktik terbaiknya adalah membatasi panjang kata sandi hingga 72 byte atau melakukan pra-hash dengan SHA-256 untuk menormalkan panjang sebelum bcrypt.

Praktik Terbaik

Pertanyaan yang sering diajukan

Bisakah saya menyesuaikan keluaran yang dihasilkan?
Ya. Alat ini menyediakan berbagai opsi penyesuaian untuk menyesuaikan keluaran dengan kebutuhan spesifik Anda. Sesuaikan pengaturan sebelum membuat, atau buat ulang dengan opsi berbeda.
Apakah konten yang dihasilkan gratis untuk digunakan?
Ya. Segala sesuatu yang Anda hasilkan dengan alat ini adalah milik Anda untuk digunakan untuk tujuan pribadi, pendidikan, atau komersial tanpa batasan atau persyaratan atribusi apa pun.
Apakah ini memerlukan akun?
Tidak. Alat ini langsung siap digunakan tanpa perlu mendaftar, tanpa email, dan tanpa registrasi. Buka saja halamannya dan mulai menghasilkan.
Apakah data masukan saya dirahasiakan?
Ya. Semua pemrosesan terjadi di browser Anda. Data masukan dan keluaran yang Anda hasilkan tidak pernah dikirim ke server eksternal mana pun.
Haruskah saya menambahkan garam saya sendiri?
Tidak. bcrypt menghasilkan dan menyimpan garam acak secara otomatis. Menambahkan garam sendiri tidak diperlukan dan dapat menyebabkan serangga halus. Gunakan pembuatan garam default perpustakaan.
Apakah kata sandi dikirim ke server?
Tidak. hashing bcrypt terjadi di browser Anda. Kata sandi tidak pernah keluar dari perangkat Anda.
Mengapa ada varian $2a$, $2b$, $2y$?
$2a$ adalah yang asli. $2b$ memperbaiki bug menyeluruh yang ditemukan pada tahun 2014. $2y$ khusus untuk PHP, secara fungsional setara dengan $2b$. Sistem baru seharusnya menghasilkan $2b$ hash.
Bisakah saya menurunkan versi hash berbiaya tinggi ke yang berbiaya lebih rendah?
Tidak. Hash menyertakan biaya sebagai bagian dari output dan verifikasi memerlukan biaya yang sama. Untuk mengubah biaya, hash ulang pada login berikutnya yang berhasil.