Generator Hash bcrypt
hasilkan hash
Nilai lebih tinggi = lebih lambat dan lebih aman. 12 adalah pilihan bawaan yang baik.
Sesekali Anda punya hash bcrypt dari backup lama dan sebuah password plaintext, lalu perlu tahu apakah keduanya cocok. Atau Anda punya password dan ingin hash yang akan dihasilkan oleh faktor cost tertentu. Tool ini melakukan keduanya: ketik password untuk membuat hash baru, tempel hash dan kandidat password untuk mengetahui apakah verifikasi berhasil - memakai constant-time compare yang sama seperti pengecekan login produksi.
Generate atau verifikasi bcrypt
-
1
Pilih mode
Buat hash baru dari password, atau verifikasi password terhadap hash `$2a$` / `$2b$` / `$2y$` yang sudah ada.
-
2
Untuk generate: masukkan plaintext dan cost
Cost 4-13; 10-12 adalah normal. Salt acak 16 byte dibuat untuk setiap hash.
-
3
Untuk verify: tempel hash dan plaintext
Tool mengekstrak salt dan cost dari hash, lalu melakukan re-hash plaintext dengan parameter yang sama.
-
4
Baca hasilnya
Mode generate menyalin hash 60 karakter; mode verify mengembalikan match hijau atau mismatch merah.
Internal mode verify
Diberikan hash tersimpan seperti:
$2b$12$mE2n5YqWjKqT9tXg.OQPoeeHZJ9hdSvOt5wFdRRQwl6yE1vWWY3z6
Verifier:
- Mem-parse versi (
2b), cost (12), salt (22 karakter pertama setelah cost), dan digest (31 karakter terakhir). - Menjalankan ulang bcrypt pada plaintext kandidat dengan salt dan cost yang diekstrak.
- Membandingkan digest hasil dengan digest asli memakai constant-time comparison.
Perbandingan yang berhasil menghasilkan true; perbedaan apa pun menghasilkan false.
Constant-time comparison
Membandingkan dua string dengan == yang naif akan berhenti begitu ada byte yang berbeda - timing side channel yang dapat membocorkan digit hash satu per satu jika sampelnya cukup banyak. Pengecekan password produksi (dan tool ini) memakai constant-time compare yang selalu memeriksa setiap byte, sehingga waktu keputusan tidak bergantung pada berapa banyak byte awal yang cocok.
Kasus diagnostik umum
| Gejala | Kemungkinan penyebab |
|---|---|
| Verifikasi gagal, Anda yakin password benar | Spasi di akhir atau BOM di input. Hapus keduanya. |
Verifikasi gagal, versi 2y |
Beberapa library tidak menyukai 2y; itu valid dan kompatibel. Re-hash dengan 2b ke depan. |
| Hash terlalu pendek / malformed | Bukan hash bcrypt. MD5 adalah 32 karakter hex, SHA-1 40, bcrypt 60 dengan delimiter $. |
| Peringatan cost mismatch | Cost tersimpan di bawah minimum policy Anda. Re-hash pada login berhasil berikutnya. |
Rehashing saat login
Praktik terbaik: ketika user berhasil login, cek apakah hash tersimpan memiliki cost lebih rendah dari policy Anda saat ini. Jika ya, re-hash password pada cost baru dan update database. Dalam beberapa bulan, seluruh basis pengguna naik level tanpa meminta siapa pun mengganti password.
Yang tidak dilakukan tool ini
- Verifikasi bulk - Dibuat untuk satu hash per waktu.
- Crack atau brute force - Serangan dictionary atau rainbow-table sengaja di luar cakupan.
- Mengambil plaintext - bcrypt satu arah; jika password terlupa, satu-satunya jalan adalah reset.
Pertanyaan yang Sering Diajukan
Dikirim ke server kami melalui koneksi terenkripsi, karena hashing dan verifikasi dihitung di sana. Tidak disimpan, tidak dicatat, dan tidak pernah ditambahkan ke link halaman.
Salt dibuat acak per hash. Itulah inti keamanannya - dua user dengan password yang sama mendapatkan hash berbeda, sehingga rainbow tables kalah.
Ya, tepat itulah fungsi mode verify: tempel hash yang Anda punya, tempel kandidat password, lalu tool mengonfirmasi atau menolak kecocokan.
Ya. Semua varian modern interoperable - digest kompatibel lintas versi; yang berbeda hanya tag. Beberapa hash $2$ lama dari sistem era 2000 mungkin membutuhkan library dengan dukungan legacy eksplisit.
Alat Terkait
Encoder File Base64
Encode file apa pun (PDF, ZIP, gambar, file program) menjadi teks Base64 untuk disematkan dalam JSON, email, YAML, atau data URI. Berjalan lokal, tanpa unggah.
Pengode sandi A1Z26
Kodekan teks dengan sandi A1Z26 (A=1, B=2, ... Z=26) atau baca kembali urutan angka menjadi huruf, dengan pemisah yang bisa disesuaikan.
Encoder dan Decoder Base58
Encode teks UTF-8 atau byte heksadesimal dan decode Base58 secara aman dengan alfabet Bitcoin, Ripple, atau Flickr.
Encoder Sandi Caesar
Enkripsi dan dekripsi teks menggunakan sandi Caesar. Pergeseran apa pun 1-25, mendukung ROT13 sebagai kasus khusus, mempertahankan tanda baca dan kapitalisasi.
Enkripsi / Dekripsi AES
Enkripsi dan dekripsi teks berisiko rendah dengan cipher AES OpenSSL. Passphrase di-hash dengan SHA-256 dan output Base64 berisi IV plus teks terenkripsi.
Encoder Sandi Atbash
Encode atau decode teks dengan sandi Atbash, substitusi Ibrani yang memetakan A-Z menjadi Z-A. Operasi yang sama mengenkripsi dan mendekripsi.
Alat ini tersedia dalam bahasa lain
- bcrypt Hash Oluşturucu [TR]
- Generador de Hash bcrypt [ES]
- مولد Hash bcrypt [AR]
- Générateur de hachage bcrypt [FR]
- bcrypt-hashgenerator [NL]
- bcrypt 해시 생성기 [KO]
- bcrypt Hash Generator [EN]
- Trình tạo hash bcrypt [VI]
- bcrypt 哈希生成器 [ZH]
- bcrypt Hashジェネレーター [JA]
- ตัวสร้าง bcrypt Hash [TH]
- Gerador de Hash bcrypt [PT]
- bcrypt-Hash-Generator [DE]
- bcrypt-hashgenerator [SV]
- Generator hashy bcrypt [PL]
- Generatore di hash bcrypt [IT]
- Генератор bcrypt-хешей [RU]