Bcrypt Verifier
Periksa apakah kata sandi cocok dengan hash bcrypt. Tempelkan kata sandi dan hash $2a$, $2b$ atau $2y$, lalu alat ini membaca salt dan cost dari string tersebut, menghitung ulang hash, dan menyatakan cocok atau tidak cocok. Alat ini membantu developer menelusuri masalah login, memastikan migrasi basis data, dan menguji hash dari PHP, Node.js, atau Python. Hash dengan cost di atas 12 ditolak dan kata sandi tidak pernah ditampilkan kembali.
Pertanyaan yang sering diajukan
Bagaimana cara kerja verifikasi bcrypt?
Alat ini membaca versi, cost, dan salt dari string hash, lalu melakukan hashing pada kata sandi Anda dengan pengaturan yang sama persis dan membandingkan hasilnya dengan hash yang tersimpan. Jika keduanya identik, hasilnya cocok; jika tidak, hasilnya tidak cocok.
Format hash apa saja yang didukung?
Alat ini menerima format modular crypt dengan awalan $2a$, $2b$ dan $2y$, cost dua digit, serta salt dan hash sepanjang 53 karakter. Format ini mencakup PHP password_hash, Node.js bcrypt dan bcryptjs, Python bcrypt, serta Spring Security.
Mengapa hash saya ditolak?
Hash harus tepat 60 karakter dengan format $2b$10$, diikuti 53 karakter dari alfabet bcrypt. Pastikan hash tidak terpotong oleh kolom basis data atau diapit tanda kutip. Hash dengan cost di atas 12 ditolak agar layanan tetap cepat.
Bisakah saya mencoba contoh yang sudah diketahui?
Vektor uji jBCrypt yang dipublikasikan, $2a$06$If6bvum7DFjUnE9p2uDeDu0YHzrHM6tf.iqN8.yx.jNN1ILEf7h0i, adalah untuk kata sandi abc. Masukkan keduanya dan hasilnya akan cocok; kata sandi lain akan menghasilkan tidak cocok.
Mengapa batas cost-nya 12?
Verifikasi hash membutuhkan biaya komputasi sebesar pembuatan hash, dan setiap kenaikan cost menggandakan waktu. Cost di atas 12 dapat memakan waktu beberapa detik, jadi alat ini menolaknya agar tidak membebani server.
Apakah verifikator menampilkan atau menyimpan kata sandi saya?
Tidak. Respons hanya berisi hash dan hasilnya, tanpa kata sandi. Tidak ada yang dicatat atau disimpan.
Apakah ada panjang maksimum kata sandi?
Bcrypt hanya membaca 72 byte pertama kata sandi, dan alat ini menolak kata sandi yang lebih panjang alih-alih memotongnya. Jika sistem Anda memotong kata sandi yang lebih panjang saat membuat hash, masukkan hanya 72 byte pertamanya.
Apa perbedaan antara $2a$, $2b$ dan $2y$?
Ketiganya menandai perbaikan bug pada implementasi lama: $2y$ berasal dari perbaikan crypt_blowfish milik PHP, sedangkan $2b$ berasal dari perbaikan OpenBSD untuk kata sandi panjang. Untuk kata sandi valid hingga 72 byte, ketiganya menghasilkan hash yang sama, jadi alat ini memverifikasi ketiganya.
Bisakah saya memverifikasi hash dari algoritma lain di sini?
Tidak. Alat ini hanya memeriksa hash bcrypt. Gunakan Argon2 Verifier untuk string yang diawali $argon2.
Mengapa hash bcrypt baru dari kata sandi saya tidak sama dengan hash yang tersimpan?
Setiap hash bcrypt menggunakan salt acak yang baru, sehingga dua hash dari kata sandi yang sama selalu berupa string yang berbeda. Karena itu, verifikasi menghitung ulang hash menggunakan salt yang tersimpan alih-alih membandingkan dua hash.