ESC

Penjana Bcrypt

2^10 = 1,024 lelaran (lalai disyorkan)
Hash bcrypt akan dipaparkan di sini...

Info Bcrypt

Kesan Faktor Kos

Faktor kos yang lebih tinggi meningkatkan keselamatan tetapi mengambil masa pengiraan yang lebih lama. Setiap kenaikan menggandakan masa pengiraan.

Kos Lelaran Anggaran Masa
8256~40ms
101,024~100ms
124,096~400ms
1416,384~1.5s
1665,536~6s
Semua pencincangan dilakukan secara tempatan dalam pelayar anda menggunakan JavaScript tulen. Kata laluan anda tidak pernah meninggalkan peranti anda.

Contoh Penggunaan

Cincang Kata Laluan

Jana hash bcrypt untuk kata laluan dengan faktor kos lalai 10. Sesuai untuk kebanyakan aplikasi.

Sahkan Kata Laluan

Semak sama ada kata laluan sepadan dengan hash bcrypt yang diberikan. Berguna untuk menguji aliran pengesahan.

Hash Keselamatan Tinggi

Jana hash dengan faktor kos lebih tinggi (12) untuk keselamatan yang dipertingkatkan dalam aplikasi sensitif.

Ciri-ciri

Pencincangan Bcrypt

Pencincangan kata laluan bcrypt standard industri berdasarkan sifer Blowfish dengan faktor kos adaptif

Kos Boleh Laras

Laraskan faktor kos dari 4 hingga 31 untuk mengimbangi keselamatan dan prestasi mengikut kes penggunaan anda

Pengesahan Hash

Sahkan sebarang kata laluan terhadap hash bcrypt untuk menguji pengesahan dan mengesahkan hash

100% Sisi Pelanggan

Pelaksanaan bcrypt JavaScript tulen. Kata laluan anda tidak pernah meninggalkan pelayar anda

Cara Menggunakan?

1

Masukkan Kata Laluan

Taip atau tampal kata laluan yang ingin dicincang dalam tab Cincang.

2

Tetapkan Faktor Kos

Pilih faktor kos (lalai 10). Nilai lebih tinggi lebih selamat tetapi lebih perlahan.

3

Jana atau Sahkan

Klik Jana Hash untuk mencipta hash bcrypt, atau gunakan tab Sahkan untuk menyemak kata laluan terhadap hash.

Soalan Lazim

Bcrypt ialah fungsi hashing kata laluan yang direka oleh Niels Provos dan David Mazières pada tahun 1999. Berbeza dengan fungsi hash tujuan umum seperti SHA-256 atau MD5, bcrypt dibina khusus untuk kata laluan. Ciri utamanya: ia menjana dan menyematkan garam rawak secara automatik (mencegah serangan rainbow table), dan ia mempunyai faktor kos yang boleh dilaras yang menjadikan setiap pengiraan hash sengaja perlahan — menjadikannya mahal dari segi pengiraan untuk serangan brute-force. Ia adalah pilihan yang disyorkan untuk penyimpanan kata laluan dalam kebanyakan aplikasi web moden.

SHA-256 dan MD5 direka untuk menjadi pantas — GPU moden boleh mengira berbilion hash SHA-256 sesaat. Kepantasan itu membawa bencana untuk hashing kata laluan: penyerang boleh melakukan brute-force pada berbilion tekaan kata laluan sesaat. Bcrypt pula sengaja perlahan: satu pengiraanan hash mengambil masa beberapa milisaat pada faktor kos 10, yang mengecilkan ruang serangan kepada beberapa ratus tekaan sesaat walaupun dengan perkakasan berkuasa. Jangan sesekali gunakan MD5, SHA-1, atau malah SHA-256 secara langsung untuk hashing kata laluan — gunakan bcrypt, Argon2, atau scrypt.

Faktor kos 10 (2^10 = 1,024 iterasi) adalah minimum yang disyorkan oleh OWASP untuk kebanyakan aplikasi dan menghasilkan hash dalam masa kira-kira 100ms pada perkakasan moden. Gunakan faktor kos 12 untuk sistem yang mengendalikan data sensitif seperti akaun kewangan. Setiap kenaikan menggandakan masa pengiraan: faktor 12 mengambil masa 4x lebih lama daripada faktor 10. Uji pada perkakasan pelayan sebenar anda dan sasarkan 100-300ms setiap hash — cukup perlahan untuk menghalang penyerang, dan cukup pantas supaya tidak mengganggu pengguna yang sah. Jangan sesekali turun di bawah faktor 10 dalam pengeluaran (production).

Bcrypt menjana garam rawak kriptografi 22-aksara untuk setiap hash dan menyematkannya dalam rantaian output. Garam tersebut memastikan bahawa walaupun dua pengguna mempunyai kata laluan yang sama, mereka akan mendapat nilai hash yang berbeza. Ini mengalahkan rainbow tables (pemetaan hash-ke-kata laluan yang dikira awal) dan menghalang penyerang daripada melihat bahawa dua akaun berkongsi kata laluan yang sama. Garam disimpan sebagai sebahagian daripada rantaian hash ($2b$10$<22-char-salt><31-char-hash>), jadi anda tidak perlu menyimpannya secara berasingan.

Tidak. Bcrypt (seperti semua fungsi hashing kriptografi yang betul) adalah fungsi satu hala — tiada cara untuk mengbaliknya. Satu-satunya cara untuk "mencari" kata laluan daripada hash bcrypt ialah dengan brute force: cuba berjuta-juta kata laluan calon sehingga satu daripadanya sepadan. Inilah sebabnya mengapa kelembapan bcrypt adalah ciri keselamatan, bukannya pepijat (bug). Untuk menyemak sama ada kata laluan itu betul, anda menggunakan fungsi verify — ia mengira semula hash input dengan garam yang disimpan dalam hash dan membandingkan hasilnya.

Tab Verify mengekstrak garam dan faktor kos yang disemat dalam rantaian hash sedia ada, menjalankan bcrypt pada kata laluan input menggunakan parameter tersebut, dan membandingkan hasilnya dengan hash yang disimpan. Jika sepadan, kata laluan adalah betul. Inilah cara pengesahan berfungsi dalam aplikasi web: hash yang disimpan tidak pernah berubah, dan anda mengesahkan percubaan log masuk dengan mengira semula hash dengan garam yang sama. Proses ini mengambil masa yang sama dengan menjana hash, dan itu memang disengajakan.

Ya. Bcrypt memotong (truncates) kata laluan pada 72 bait. Ini bermakna kata laluan yang sangat panjang (melebihi 72 aksara ASCII, atau kurang untuk aksara Unicode pelbagai bait) akan menghasilkan hash yang sama tanpa mengira apa yang menyusul selepas bait ke-72 — "password123" dan "password123abc..." akan menghasilkan nilai hash yang sama jika 72 bait pertama sepadan. Untuk aplikasi di mana pengguna mungkin memasukkan kata lalawan lebih daripada 72 aksara, langkah pencegahan biasa adalah dengan melakukan SHA-256 pada kata laluan terlebih dahulu, kemudian masukkan hasil hash tersebut ke dalam bcrypt (hash tersebut adalah 64 aksara ASCII, jauh di bawah had).

Tidak. Alat ini menggunakan pelaksanaan JavaScript tulen untuk bcrypt yang berjalan sepenuhnya di dalam pelayar anda. Kata laluan anda, hash yang dihasilkan, dan semua keputusan pengesahan kekal di peranti anda. Tiada apa-apa yang dihantar ke mana-mana pelayan. Ini menjadikannya selamat untuk menjana dan menguji hash menggunakan kata laluan sebenar semasa pembangunan, walaupun anda harus menggunakan kata laluan ujian dan bukannya kredensial pengguna sebenar sebagai amalan terbaik.

Apa itu Bcrypt?

Bcrypt ialah fungsi hash kata laluan adaptif berasaskan sifer Blowfish, direka oleh Niels Provos dan David Mazieres. Garam rawak dan faktor kos yang boleh dinaikkan buat dia kekal relevan walaupun hardware makin laju. Standard industri untuk simpan kata laluan dalam pangkalan data.

Kenapa Guna Penjana Ni?

Semua berjalan dalam pelayar korang guna JavaScript tulen. Faktor kos 4-31, jana hash serta-merta, sahkan kata laluan terus. Tiada pelayan, tiada risiko.

Keselamatan dan Privasi

Keselamatan data anda adalah keutamaan kami

Pemprosesan Tempatan

Semua pemprosesan berlaku dalam pelayar anda

Tiada Pemindahan Data

Data anda tidak dihantar ke pelayan kami

Tiada Penyimpanan Data

Tiada data disimpan atau dikongsi

Penyulitan SSL

Penyulitan SSL untuk sambungan selamat

Langkah Seterusnya

Lebih Banyak di MoreOnlineTools