Penjana Bcrypt
Jana dan sahkan hash kata laluan bcrypt dalam talian. Faktor kos boleh laras, salt terbina dalam, pratonton hash masa nyata. Semua pemprosesan dijalankan secara tempatan dalam pelayar anda.
Apakah bcrypt?
Bcrypt ialah fungsi hash kata laluan yang direka oleh Niels Provos dan David Mazières, berdasarkan sifer Blowfish. Ia direka khusus untuk penyimpanan kata laluan yang selamat dan merupakan salah satu algoritma hash kata laluan yang paling banyak digunakan di dunia.
Bagaimana bcrypt berfungsi?
Bcrypt mengambil kata laluan dan salt sebagai input, kemudian menjalankan proses setup kunci yang mahal (Eksblowfish) yang menghasilkan hash dengan panjang tetap. Hash merangkumi pengenal algoritma, faktor kos, salt dan nilai hash itu sendiri.
Apakah faktor kos dalam bcrypt?
Faktor kos ialah nombor dari 4 hingga 31 yang menentukan berapa banyak lelaran setup kunci dilakukan. Setiap kenaikan menggandakan masa pengiraan. Kos 10 bermakna 2^10 = 1024 lelaran. Nilai yang disyorkan ialah 10-12 untuk kebanyakan aplikasi.
Apakah salt dan mengapa ia penting?
Salt ialah nilai rawak 128-bit yang unik untuk setiap hash kata laluan. Ia menghalang penyerang daripada menggunakan jadual pelangi yang telah dikira sebelumnya dan memastikan kata laluan yang serupa menghasilkan hash yang berbeza. Bcrypt secara automatik menjana dan membenamkan salt.
Adakah bcrypt masih selamat pada 2025?
Ya, bcrypt kekal sebagai salah satu algoritma hash kata laluan yang disyorkan. Walaupun terdapat algoritma yang lebih baharu seperti Argon2, bcrypt dianggap selamat apabila digunakan dengan faktor kos yang sesuai (12 atau lebih tinggi).
Berapakah panjang maksimum kata laluan untuk bcrypt?
Bcrypt mempunyai panjang input maksimum 72 bait. Kata laluan lebih panjang daripada 72 bait akan dipotong secara senyap. Untuk kata laluan yang lebih panjang, pertimbangkan pra-hash dengan SHA-256 sebelum menggunakan bcrypt.
Bagaimana bcrypt dibandingkan dengan MD5, SHA-256 dan fungsi hash lain?
Berbeza dengan MD5 dan SHA-256 yang direka untuk kelajuan, bcrypt sengaja perlahan dan mahal dari segi pengiraan. Fungsi hash tujuan umum boleh dikira berbilion kali sesaat, menjadikannya terdedah kepada serangan brute-force.
Apakah format hash bcrypt?
Hash bcrypt mengikut format: $2b$cost$salt+hash. Contoh: $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy. Awalan $2b$ mengenal pasti versi algoritma, diikuti faktor kos, salt 22 aksara dan hash 31 aksara.
Apakah perbezaan antara $2a$, $2b$ dan $2y$?
Ini ialah pengenal versi bcrypt. $2a$ ialah versi asal, $2b$ membetulkan isu kecil pengendalian panjang kata laluan dalam OpenBSD, dan $2y$ ialah varian khusus PHP.
Adakah selamat menggunakan penjana bcrypt dalam talian?
Apabila pemprosesan berjalan sepenuhnya dalam pelayar anda (sebelah klien), ia sepenuhnya selamat. Tiada data kata laluan dihantar ke mana-mana pelayan. Alat ini memproses semuanya secara tempatan menggunakan JavaScript.
Bagaimana memilih faktor kos yang betul?
Faktor kos haruslah setinggi mungkin sambil menjaga penjanaan hash kekal pantas secara wajar. Peraturan yang baik: pilih kos di mana hash mengambil masa kira-kira 250-500ms pada pelayan anda.
Bolehkah bcrypt digunakan untuk menyulitkan data?
Tidak, bcrypt ialah fungsi hash sehala, bukan algoritma penyulitan. Ia tidak boleh diterbalikkan untuk memulihkan kata laluan asal. Ia direka khusus untuk pengesahan kata laluan.
Mengapa bcrypt perlahan secara reka bentuk?
Bcrypt sengaja perlahan untuk menjadikan serangan brute-force dan kamus mahal dari segi pengiraan. Sementara fungsi hash biasa boleh memproses berjuta-juta kata laluan sesaat, bcrypt hanya memproses beberapa ratus.
Bagaimana mengesahkan kata laluan terhadap hash bcrypt?
Untuk mengesahkan, ekstrak salt dan faktor kos dari hash yang disimpan, jalankan bcrypt dengan parameter yang sama pada kata laluan input dan bandingkan hash yang terhasil dengan hash yang disimpan. Jika sepadan, kata laluan adalah betul.