Penukar Percuma

Kata Laluan Bcrypt Penjana

Hasilkan cincang kata laluan bcrypt selamat serta-merta dalam penyemak imbas anda. Pilih faktor kos anda dan kata laluan cincang sebelah pelanggan — sepenuhnya peribadi dan percuma.

Tentang alat ini

bcrypt ialah fungsi pencincang kata laluan yang direka oleh Niels Provos dan David Mazières pada tahun 1999, yang diperoleh daripada sifir Blowfish. Tidak seperti fungsi cincang tujuan umum seperti SHA-256, bcrypt sengaja perlahan — dan boleh dikonfigurasikan perlahan, melalui parameter kos — yang sebenarnya merupakan harta yang diperlukan oleh pencincang kata laluan. Fungsi cincang yang lebih pantas membolehkan penyerang memaksa lebih ramai calon sesaat; yang lebih perlahan menghadkan mereka.

bcrypt juga menggabungkan garam setiap kata laluan secara automatik, menghapuskan keseluruhan kelas serangan berdasarkan jadual pelangi yang diprakira. Parameter garam dan kos disimpan sebagai sebahagian daripada output bcrypt, jadi pengesahan hanya memerlukan cincang yang disimpan dan kata laluan calon — tiada pengurusan garam yang berasingan. Gabungan format kelambatan, garam dan serba lengkap ini menjadikan bcrypt sebagai cincang kata laluan lalai selama dua dekad dan pilihan yang kukuh hari ini.

Alternatif moden wujud. Argon2 memenangi Pertandingan Hashing Kata Laluan 2015 dan menawarkan kekerasan memori selain kekerasan masa. scrypt menawarkan sifat yang serupa. Untuk reka bentuk baharu, Argon2id adalah pilihan yang disyorkan. bcrypt kekal diterima dan digunakan secara meluas, terutamanya dalam persekitaran di mana Argon2 tidak tersedia.

Mengapa Kata Laluan Hash dengan bcrypt

Menyimpan kata laluan sebagai plaintext adalah penyelewengan. Menyimpannya dengan cincang pantas seperti SHA-256 hampir tidak lebih baik — GPU moden mengira berbilion cincang SHA-256 sesaat, menjadikan serangan kekerasan terhadap mana-mana kata laluan biasa boleh dilaksanakan dalam beberapa jam. Kelembapan bcrypt yang disengajakan mengubah ekonomi: pada faktor kos 12, penyerang membelanjakan kira-kira 250 ms bagi setiap kata laluan calon, menjadikan brute-force tidak praktikal untuk sebarang kata laluan yang tidak remeh.

garam per-kata laluan automatik bcrypt juga mengalahkan serangan jadual pelangi. Dua pengguna dengan kata laluan yang sama menghasilkan cincang bcrypt yang berbeza kerana garam mereka berbeza. Mengkompromi pangkalan data kata laluan tidak membenarkan penyerang dengan cepat mengenal pasti kata laluan biasa atau hit jadual yang diprakira.

Cara menggunakan

Taip kata laluan, pilih kos, dapatkan cincang.

  1. Masukkan kata laluan: Taip kata laluan untuk cincang. Alat ini berjalan sepenuhnya dalam penyemak imbas anda; kata laluan tidak dihantar ke mana-mana.
  2. Pilih faktor kos: Lalai ialah 10, menghasilkan kira-kira 100 ms masa pencincangan pada perkakasan moden. 12 disyorkan untuk aplikasi baharu (250 ms). Nilai yang lebih tinggi meningkatkan keselamatan dengan kos pengesahan yang lebih perlahan.
  3. Menjana: Penggodam menjana garam 16-bait rawak, menjalankan terbitan kunci bcrypt dan menghasilkan cincang dalam format $2b$ standard.
  4. Gunakan hash: Simpan output lengkap ($2b$cost$saltAndHash) dalam pangkalan data kata laluan anda. Pengesahan menggunakan pustaka yang sama untuk membandingkan calon dengan cincang yang disimpan.

Kes Penggunaan Biasa

Butiran Teknikal

bcrypt menggunakan fasa persediaan kunci sifir Blowfish yang diubah suai, berulang 2^kali kos. Faktor kos adalah logaritma — kos 12 adalah dua kali lebih perlahan daripada kos 11, empat kali lebih perlahan daripada kos 10. Penskalaan logaritma ini membolehkan pentadbir meningkatkan kos dari semasa ke semasa apabila perkakasan bertambah baik, tanpa mereka bentuk semula sistem.

Format output ialah $version$cost$saltAndHash dengan saltAndHash dikodkan base64 dengan abjad tersuai. Versi biasanya $2b$ (varian moden dengan pepijat pembalut telah diperbaiki) atau $2y$ (khusus PHP, setara). Garam ialah 16 bait; hash ialah 24 bait; bersama-sama mereka mengekod kepada 53 aksara custom-base64.

Panjang input maksimum ialah 72 bait (had panjang kekunci Blowfish). Kata laluan yang lebih panjang dipotong secara senyap, yang merupakan kebiasaan bcrypt yang telah lama wujud. Amalan terbaik ialah sama ada mengehadkan panjang kata laluan kepada 72 bait atau pra-cincang dengan SHA-256 untuk menormalkan panjang sebelum bcrypt.

Amalan Terbaik

Soalan lazim

Bolehkah saya menyesuaikan output yang dihasilkan?
ya. Alat ini menyediakan pelbagai pilihan penyesuaian untuk menyesuaikan output dengan keperluan khusus anda. Laraskan tetapan sebelum menjana, atau jana semula dengan pilihan yang berbeza.
Adakah kandungan yang dihasilkan percuma untuk digunakan?
ya. Semua yang anda jana dengan alat ini adalah milik anda untuk digunakan untuk tujuan peribadi, pendidikan atau komersial tanpa sebarang sekatan atau keperluan atribusi.
Adakah ini memerlukan akaun?
Tidak. Alat ini sedia untuk digunakan serta-merta tanpa pendaftaran, tanpa e-mel dan tanpa pendaftaran. Hanya buka halaman dan mula menjana.
Adakah data input saya dirahsiakan?
ya. Semua pemprosesan berlaku dalam penyemak imbas anda. Data input dan output yang dijana anda tidak pernah dihantar ke mana-mana pelayan luaran.
Adakah saya perlu menambah garam saya sendiri?
Tidak. bcrypt menjana dan menyimpan garam rawak secara automatik. Menambah garam anda sendiri adalah tidak perlu dan boleh menyebabkan pepijat halus. Gunakan penjanaan garam lalai perpustakaan.
Adakah kata laluan dihantar ke pelayan?
Tidak. pencincangan bcrypt berlaku dalam penyemak imbas anda. Kata laluan tidak pernah meninggalkan peranti anda.
Mengapakah terdapat variasi $2a$, $2b$, $2y$?
$2a$ adalah yang asal. $2b$ membetulkan pepijat salutan yang ditemui pada 2014. $2y$ adalah khusus PHP, fungsinya bersamaan dengan $2b$. Sistem baharu seharusnya menghasilkan cincang $2b$.
Bolehkah saya menurunkan taraf cincangan kos tinggi kepada kos yang lebih rendah?
Tidak. Cincang termasuk kos sebagai sebahagian daripada output dan pengesahan memerlukan kos yang sama. Untuk menukar kos, cincang semula pada log masuk yang berjaya seterusnya.