Generator Bcrypt

5 dari 2 penilaian
Generator Bcrypt

Generator Bcrypt adalah alat gratis yang membuat hash kata sandi bcrypt dari input string apa pun untuk menyimpan kata sandi secara aman.

Apa itu bcrypt, dan apakah masih aman?

Bcrypt adalah algoritma hashing kata sandi yang masih layak digunakan untuk menyimpan kata sandi jika dikonfigurasi dengan cost yang sesuai, meskipun sistem yang lebih baru sering memilih Argon2id. Niels Provos dan David Mazières merancang bcrypt pada 1999 dengan memanfaatkan proses penjadwalan kunci dari cipher Blowfish agar setiap percobaan menebak kata sandi membutuhkan sumber daya yang besar.

Hashing bersifat satu arah. Karena itu, aplikasi memeriksa kata sandi dengan melakukan hashing terhadap kata sandi yang dimasukkan menggunakan parameter tersimpan, bukan dengan mengembalikan hash ke bentuk aslinya. Berbeda dari algoritma serbaguna seperti SHA-3, bcrypt menghasilkan rekaman terenkode dengan panjang tetap yang sudah memuat versi, cost, salt, dan checksum.

Rekaman bcrypt standar memiliki panjang 60 karakter ASCII. Checksum-nya merepresentasikan 184 bit dan ditampilkan sebagai 31 karakter dalam pengodean bergaya Base64 milik bcrypt. Bcrypt tidak dianggap telah rusak secara kriptografis, tetapi memiliki keterbatasan karena usianya: implementasi tradisional hanya memproses maksimal 72 byte input. Argon2id juga menyediakan perlindungan memory-hard yang tidak dimiliki bcrypt.

Diagram: teks input melewati fungsi Bcrypt dan menghasilkan digest berukuran tetap yang tidak dapat dibalik

Bagaimana cara menggunakan Generator Bcrypt?

Masukkan string yang ingin di-hash, jalankan generator, lalu salin nilai pada kolom hasil Hash Bcrypt. Simpan seluruh hasilnya, jangan hanya mengambil checksum di bagian akhir.

  1. Gunakan kata sandi atau string pengujian persis seperti aslinya, termasuk huruf besar dan kecil, spasi, serta tanda baca.
  2. Buat hasil bcrypt.
  3. Salin seluruh 60 karakter, termasuk penanda versi dan cost di bagian awal.
  4. Simpan hasil tersebut di kolom hash kata sandi pada basis data.
  5. Saat pengguna masuk, gunakan fungsi verifikasi bcrypt yang disediakan platform. Jangan membuat hash baru lalu membandingkan teksnya secara langsung.
Alat Generator Bcrypt di digily.link beserta formulir inputnya

Bcrypt biasanya memakai salt acak baru untuk setiap hash. Karena itu, input yang sama dapat menghasilkan dua rekaman berbeda jika di-hash dua kali, tetapi keduanya tetap dapat diverifikasi dengan input tersebut. Ini normal dan mencegah kata sandi yang sama memiliki nilai tersimpan yang identik.

Prosesnya dilakukan di server. Input dikirim ke server melalui HTTPS dan tidak disimpan. Untuk kata sandi produksi yang sebenarnya, pertimbangkan apakah memasukkannya ke layanan daring pihak ketiga sesuai dengan kebijakan keamanan organisasi Anda.

Bisakah hash bcrypt didekripsi atau dikembalikan ke bentuk semula?

Tidak. Hash bcrypt tidak dapat didekripsi karena bukan data terenkripsi dan tidak memiliki kunci dekripsi. Cara praktis untuk menyerangnya adalah dengan menebak berbagai kemungkinan kata sandi, lalu memverifikasi setiap tebakan terhadap hash yang tersimpan.

Bcrypt memperlambat proses penebakan melalui cost yang dapat dikonfigurasi. Namun, bcrypt tidak dapat mengamankan kata sandi yang pendek, umum, atau pernah bocor. Penyerang yang gigih masih mungkin menemukan input yang lemah. Salt mencegah penyerang menggunakan kembali satu tabel prakomputasi untuk banyak akun, tetapi salt bukan informasi rahasia dan disertakan dalam rekaman tersimpan.

Contoh hasil yang dihasilkan alat Generator Bcrypt

Cara membaca hasil bcrypt

Hasil bcrypt biasanya mengikuti format modular crypt. Bentuk yang umum adalah $2y$12$[22-character salt][31-character checksum]. Ini hanya ilustrasi format, bukan hash dari kata sandi tertentu.

Bagian Panjang umum Fungsi
Penanda versi 4 karakter Mengidentifikasi varian bcrypt, seperti $2y$ atau $2b$.
Cost 3 karakter Mencatat cost dua digit yang diikuti pemisah.
Salt 22 karakter Mengodekan salt acak 128 bit.
Checksum 31 karakter Mengodekan checksum bcrypt 184 bit.

Simpan semua bagian ini sebagai satu kesatuan. Mengubah satu karakter, memotong nilai, atau menyimpannya dalam kolom yang terlalu pendek biasanya akan menyebabkan verifikasi gagal. Penanda versi dapat berbeda di antara pustaka yang kompatibel. Karena itu, aplikasi sebaiknya menggunakan API kata sandi yang sudah teruji, bukan mengurai dan menyusun ulang rekaman sendiri.

Kapan bcrypt sebaiknya digunakan?

Gunakan bcrypt untuk hashing kata sandi pada sistem yang sudah mendukungnya, terutama jika kompatibilitas dengan basis data atau framework yang ada menjadi pertimbangan. Bcrypt sengaja dirancang agar lambat dan menggunakan salt, sehingga tidak cocok dipakai sebagai checksum file serbaguna atau pengenal deduplikasi.

  • Penggunaan yang sesuai mencakup kata sandi aplikasi, pengujian migrasi, pemeriksaan ukuran kolom basis data, dan pembuatan ulang lingkungan pengembangan yang kompatibel dengan bcrypt.
  • Gunakan Argon2id sebagai gantinya untuk sistem kata sandi baru jika platform mendukungnya dan pengaturan memorinya dapat dikelola dengan benar.
  • Gunakan SHA-3 sebagai gantinya untuk memeriksa integritas file, membuat sidik jari konten, atau melakukan deduplikasi. Generator SHA-3/384 dan Generator SHA-3/512 menghasilkan digest serbaguna, bukan rekaman kata sandi.
  • Jangan gunakan bcrypt untuk tanda tangan digital, autentikasi pesan, enkripsi, atau menyimpan data yang nantinya perlu dipulihkan.

Spasi, tanda baca, dan angka diproses sebagai data input, bukan diabaikan. Karakter beraksen dan karakter non-Latin dikodekan menjadi byte sebelum diproses oleh bcrypt. Karena itu, kedua sistem harus menghasilkan byte yang sama, termasuk dengan menggunakan pengodean karakter dan normalisasi Unicode yang konsisten. Batas 72 byte sangat penting dalam konteks ini karena satu karakter Unicode dapat menempati lebih dari satu byte. Input kosong secara teknis dapat di-hash, tetapi kata sandi kosong tidak memberikan perlindungan yang berarti terhadap upaya penebakan.

Pertanyaan umum

Berapa ruang basis data yang dibutuhkan untuk hash bcrypt?

Sediakan setidaknya 60 karakter ASCII untuk rekaman bcrypt konvensional. Kolom yang sedikit lebih lebar dapat memudahkan migrasi algoritma kata sandi di masa mendatang, sedangkan kolom biner tidak diperlukan untuk bentuk terenkode standar.

Bisakah hash kata sandi SHA yang sudah ada dipindahkan ke bcrypt?

Digest SHA yang sudah ada tidak dapat diubah menjadi hash bcrypt dari kata sandi asli tanpa mengetahui kata sandi tersebut. Metode migrasi yang umum adalah memverifikasi hash lama saat pengguna masuk lagi, lalu melakukan hashing terhadap kata sandi yang diberikan menggunakan bcrypt atau Argon2id dan mengganti rekaman lama.

Sebelum menyimpan hasil, pastikan seluruh nilai sepanjang 60 karakter telah disalin, kolom basis data tidak memotongnya, dan aplikasi penerima mendukung penanda versi yang tercantum dalam rekaman.

Alat Populer