Generator dan Pemeriksa Hash Bcrypt
Hasilkan hash kata sandi bcrypt dengan cost factor yang dapat dikonfigurasi (rounds 4-15) dan verifikasi apakah kata sandi teks biasa cocok dengan hash bcrypt yang ada. Termasuk rincian anatomi hash visual, meteran keamanan real-time, estimator biaya vs kecepatan, dan penjelasan varian berdampingan ($2a$, $2b$, $2y$).
Ad blocker Anda mencegah kami menampilkan iklan
MiniWebtool gratis karena iklan. Jika alat ini membantu, dukung kami dengan Premium (bebas iklan + lebih cepat) atau whitelist MiniWebtool.com lalu muat ulang halaman.
- Atau upgrade ke Premium (bebas iklan)
- Izinkan iklan untuk MiniWebtool.com, lalu muat ulang
Tentang Generator dan Pemeriksa Hash Bcrypt
Selamat datang di Generator dan Pemeriksa Hash Bcrypt — alat online gratis yang memungkinkan Anda menghasilkan hash kata sandi bcrypt yang aman secara kriptografis dengan faktor biaya yang dapat dikonfigurasi dan memverifikasi apakah kata sandi teks biasa cocok dengan hash bcrypt yang ada. Baik Anda sedang mengisi database, men-debug alur login, memigrasikan pengguna antar sistem, atau mempelajari tentang hashing kata sandi adaptif, alat ini memberikan hasil instan serta rincian visual edukatif tentang bagaimana bcrypt menyusun format hash 60 karakternya.
Apa itu Bcrypt dan Mengapa Menggunakannya?
Bcrypt adalah fungsi hashing kata sandi adaptif berdasarkan sandi Blowfish, dirancang pada tahun 1999 oleh Niels Provos dan David Mazières. Berbeda dengan hash kriptografis cepat seperti SHA-256 atau MD5, bcrypt sengaja dibuat lambat dan menyertakan faktor biaya yang dapat disesuaikan yang dapat ditingkatkan seiring peningkatan perangkat keras. Setiap hash bcrypt juga menyertakan salt acak yang unik, yang mencegah penyerang menggunakan tabel rainbow yang telah dikomputasi sebelumnya. OWASP merekomendasikan bcrypt sebagai salah satu dari empat algoritma hashing kata sandi yang dapat diterima untuk menyimpan kredensial pengguna dalam aplikasi web modern.
Faktor Biaya: Inti dari Keamanan Bcrypt
Faktor biaya (juga disebut work factor atau rounds) mengontrol seberapa mahal komputasi hash tersebut. Ini bersifat logaritmik: setiap kenaikan +1 menggandakan beban kerja. Biaya 12 memakan waktu sekitar 250 milidetik pada CPU modern tipikal; biaya 14 memakan waktu sekitar 1 detik. Tabel di bawah menunjukkan perkiraan waktu komputasi untuk setiap tingkat biaya — pilih nilai yang cukup cepat untuk alur login Anda tetapi cukup lambat untuk menyulitkan penyerang.
| Biaya | Putaran | Est. Waktu | Kekuatan | Direkomendasikan Untuk |
|---|---|---|---|---|
| 4 | 2^4 |
< 1 ms | Hanya pengujian — jangan pernah untuk produksi | |
| 5 | 2^5 |
2 ms | Hanya pengujian — jangan pernah untuk produksi | |
| 6 | 2^6 |
4 ms | Hanya pengujian — jangan pernah untuk produksi | |
| 7 | 2^7 |
8 ms | Hanya pengujian — jangan pernah untuk produksi | |
| 8 | 2^8 |
16 ms | Sistem lama (legacy) | |
| 9 | 2^9 |
31 ms | Sistem lama (legacy) | |
| 10 | 2^10 |
62 ms | Minimum produksi | |
| 11 | 2^11 |
125 ms | Minimum produksi | |
| 12 | 2^12 |
250 ms | Default yang direkomendasikan | |
| 13 | 2^13 |
500 ms | Aplikasi keamanan tinggi | |
| 14 | 2^14 |
1.00 s | Kekuatan maksimum | |
| 15 | 2^15 |
2.00 s | Kekuatan maksimum |
Anatomi Hash Bcrypt
Setiap hash bcrypt panjangnya tepat 60 karakter dan mengikuti struktur tetap. Memahami setiap segmen membuatnya jauh lebih mudah untuk men-debug masalah login atau memigrasikan hash antar sistem:
$2b$ → varian algoritma$12$ → faktor biaya (2^12 = 4096 putaran)7i..qTPY7p4ZLvKIepRKwe → 22-karakter base64 saltlX0JB55DviohJT.JYruzy4EN6cl.q8O → 31-karakter hashed digest
Pengodean Salt dan Digest
Bcrypt menggunakan alfabet base64 khusus yang mirip dengan base64 standar tetapi menggunakan ./ alih-alih +/ dan tidak menggunakan padding. Ini murni alasan historis dan tidak memengaruhi keamanan. Salt adalah 16 byte acak, dikodekan sebagai 22 karakter base64; digest adalah 23 byte, dikodekan sebagai 31 karakter.
Varian Bcrypt Dijelaskan
Anda akan menemukan beberapa prefiks bcrypt di lapangan. Semuanya menghasilkan hash dengan struktur yang sama, tetapi mereka memiliki asal-usul yang berbeda:
Cara Menggunakan Alat Ini
- Pilih mode: Pilih Hasilkan Hash untuk membuat hash bcrypt baru, atau Verifikasi Hash untuk memeriksa apakah kata sandi cocok dengan hash yang ada.
- Masukkan kata sandi: Ketik kata sandi teks biasa ke dalam bidang input. Pengukur byte memperingatkan Anda jika kata sandi Anda mendekati batas 72 byte bcrypt.
- Atur faktor biaya: Dalam mode Hasilkan, geser slider untuk memilih faktor biaya antara 4 dan 15. Perkiraan waktu komputasi dan peringkat keamanan diperbarui secara real-time.
- Tempel hash untuk diverifikasi: Dalam mode Verifikasi, tempelkan hash bcrypt 60 karakter yang ada yang dimulai dengan
$2a$,$2b$,$2x$, atau$2y$. - Jalankan dan baca hasilnya: Klik tombol tindakan. Mode Hasilkan mengembalikan hash dengan rincian anatomi berkode warna; mode Verifikasi menunjukkan indikator COCOK atau TIDAK COCOK yang besar dengan faktor biaya aslinya.
Batas Kata Sandi 72-Byte
Bcrypt dibangun di atas fase pengaturan kunci Blowfish, yang hanya mengonsumsi 72 byte pertama dari kata sandi. Kata sandi yang lebih panjang dari 72 byte dipotong secara diam-diam oleh pustaka lama atau ditolak mentah-mentah oleh pustaka yang lebih baru. Perhatikan bahwa byte sangat penting, bukan karakter — satu emoji adalah 4 byte, dan sebagian besar karakter non-ASCII memakan 2-4 byte dalam UTF-8. Jika aplikasi Anda menerima kata sandi yang panjangnya sewenang-wenang, mitigasi standarnya adalah melakukan pre-hash pada kata sandi dengan SHA-256 dan pengodean base64 pada digest sebelum meneruskannya ke bcrypt; ini menghasilkan input 44 byte tetap yang muat dalam batas.
Kapan Memilih Bcrypt vs. Argon2 vs. Scrypt
Rekomendasi hashing kata sandi modern dari OWASP dan IETF (RFC 9106) mencantumkan empat algoritma yang dapat diterima: Argon2id (pilihan utama untuk aplikasi baru), bcrypt, scrypt, dan PBKDF2. Pilih bcrypt ketika:
- Anda membutuhkan kompatibilitas luas — setiap bahasa pemrograman utama memiliki pustaka bcrypt yang matang
- Anda bekerja dengan sistem yang sudah ada yang sudah menggunakan bcrypt
- Anda menginginkan algoritma yang teruji selama 25+ tahun kriptoanalisis
- Hashing memori-keras (Argon2id, scrypt) tidak praktis untuk lingkungan Anda
Pilih Argon2id jika Anda membangun sistem baru tanpa kendala kompatibilitas — ini adalah pemenang modern dari Password Hashing Competition dan memberikan ketahanan terhadap serangan GPU dan FPGA yang tidak dapat ditandingi oleh bcrypt.
Kasus Penggunaan Praktis
Untuk Pengembang
- Mengisi database pengembangan dengan pengguna pengujian yang realistis tanpa menjalankan seluruh alur registrasi
- Menghasilkan data fixture untuk pengujian integrasi yang melatih jalur login
- Men-debug kegagalan login dengan memverifikasi hash produksi terhadap kata sandi yang dilaporkan pengguna
- Migrasikan hash
$2a$lama ke$2b$dengan melakukan hashing ulang pada login berikutnya - Menyesuaikan faktor biaya untuk lingkungan produksi Anda dengan mengukur waktu komputasi yang sebenarnya
Untuk Insinyur Keamanan
- Memverifikasi bahwa layanan autentikasi pihak ketiga menghasilkan hash pada faktor biaya yang diklaimnya
- Audit penyimpanan kata sandi dengan memeriksa varian hash dan biaya dalam sampel produksi
- Membangun materi pelatihan yang menunjukkan bagaimana anatomi bcrypt membuatnya tahan terhadap tabel rainbow
Untuk Pelajar
- Menghasilkan kata sandi yang sama dua kali untuk melihat bagaimana salt menghasilkan hash yang berbeda
- Bereksperimen dengan faktor biaya yang berbeda untuk merasakan efek penggandaan secara langsung
- Memverifikasi hash yang diketahui untuk memahami bagaimana bcrypt mengekstrak biaya dan salt sebelum melakukan hashing pada kandidat
Pertanyaan yang Sering Diajukan
Berapa faktor biaya yang harus saya gunakan untuk bcrypt?
OWASP saat ini merekomendasikan faktor biaya setidaknya 10, dengan 12 menjadi default modern yang baik yang memakan waktu sekitar 250 milidetik pada server tipikal. Biaya bersifat logaritmik, jadi setiap +1 menggandakan beban kerja. Biaya 14 sesuai untuk aplikasi keamanan tinggi, sedangkan biaya 15 adalah batas maksimal praktis untuk login interaktif. Jangan pernah menggunakan biaya di bawah 10 dalam produksi.
Apa perbedaan antara $2a$, $2b$, $2x$, dan $2y$?
Keempatnya adalah varian bcrypt yang dibedakan berdasarkan prefiksnya. $2a$ adalah revisi asli; $2x$ dan $2y$ adalah perbaikan darurat PHP untuk bug ekstensi tanda tahun 2011; $2b$ adalah implementasi referensi modern yang memperbaiki bug wraparound pada kata sandi panjang. Hash yang dihasilkan dengan varian apa pun tetap dapat diverifikasi. Pustaka modern menghasilkan $2b$ secara default dan Anda harus memilihnya untuk hash baru.
Apakah kata sandi yang saya masukkan dikirim ke server?
Formulir diproses di sisi server melalui HTTPS untuk melakukan komputasi bcrypt, tetapi baik kata sandi maupun hash yang dihasilkan tidak dicatat atau disimpan — setiap permintaan diproses dan dibuang. Untuk paranoid tingkat tinggi tentang kata sandi pengujian, jangan pernah menempelkan kata sandi produksi asli ke alat online apa pun. Gunakan alat ini dengan kata sandi pengujian sekali pakai atau di lingkungan pengembangan lokal.
Mengapa bcrypt memiliki batas kata sandi 72 byte?
Bcrypt dibangun di atas fase pengaturan kunci Blowfish, yang hanya mengonsumsi 72 byte pertama dari input. Kata sandi yang lebih panjang dari 72 byte dipotong secara diam-diam oleh pustaka lama atau ditolak oleh yang lebih baru. Untuk mendukung kata sandi yang panjangnya sewenang-wenang, lakukan pre-hash dengan SHA-256 dan pengodean base64 pada digest sebelum meneruskannya ke bcrypt. Alat ini memberikan peringatan jika kata sandi Anda melebihi batas.
Bisakah saya memverifikasi hash yang dihasilkan oleh pustaka bcrypt lain?
Ya. Semua implementasi bcrypt mengikuti format kabel yang sama ($variant$cost$salt+digest, total 60 karakter) dan menghasilkan hash yang interoperable. Hash yang dibuat oleh bcrypt Node.js, password_hash PHP, passlib Python, Spring Security, atau pustaka patuh lainnya akan terverifikasi dengan benar di sini, selama prefiks variannya dikenali.
Mengapa menghasilkan kata sandi yang sama dua kali memberikan hash yang berbeda?
Bcrypt secara otomatis menghasilkan salt 16 byte acak yang baru untuk setiap hash. Salt dicampur ke dalam algoritma dan disematkan dalam output, sehingga dua hash dari kata sandi yang sama hampir tidak pernah identik. Verifikasi berfungsi karena checkpw mengekstrak biaya dan salt dari hash yang disimpan dan menjalankan kembali bcrypt dengan parameter yang tepat tersebut sebelum membandingkan digest.
Bisakah saya mendapatkan kembali kata sandi asli dari hash bcrypt?
Tidak. Bcrypt adalah fungsi satu arah — tidak ada operasi dekripsi. Satu-satunya cara untuk menemukan kata sandi asli dari sebuah hash adalah dengan menebak kata sandi dan menjalankannya melalui bcrypt dengan biaya dan salt yang sama sampai digest-nya cocok, yang persis seperti yang dilakukan penyerang selama serangan brute-force. Seluruh poin dari biaya adaptif bcrypt adalah membuat tebakan tersebut menjadi sangat mahal.
Apakah ini berfungsi di perangkat seluler?
Ya. Antarmuka sepenuhnya responsif dan berfungsi di smartphone, tablet, dan desktop. Sakelar mode, slider biaya, dan panel hasil semuanya beradaptasi dengan layar sempit.
Sumber Daya Tambahan
Kutip konten, halaman, atau alat ini sebagai:
"Generator dan Pemeriksa Hash Bcrypt" di https://MiniWebtool.com/id// dari MiniWebtool, https://MiniWebtool.com/
oleh tim miniwebtool. Diperbarui: 26 Apr 2026