Tentang penjana ini
Praset ini mencipta nilai entropi tinggi URL-selamat untuk penandatanganan HMAC JWT. Ia adalah rahsia pembangun, bukan kata laluan pengguna, dan tidak pernah meninggalkan pelayar ini.
Praset ini bermula dengan mod url-safe dan menjana 10 hasil bebas pada satu masa. Setiap tetapan yang kelihatan boleh dilaraskan, dan nilai yang dijana tidak dihantar ke PwdGen.
Bila untuk menggunakannya
- Mencipta kelayakan baharu untuk kes penggunaan khusus ini
- Menggantikan kata laluan yang digunakan semula atau lemah
- Menjana nilai secara setempat sebelum penyimpanan selamat
Saiz abjad, entropi, dan andaian kekerasan
Siling entropi teori dikira sebagai H = L × log2(A), di mana L ialah panjang yang dijana dan A ialah bilangan aksara yang dibenarkan semasa.
| Panjang | Abjad | Ruang carian | Siling entropi | Purata pada 10 bilion tekaan/saat |
|---|---|---|---|---|
| 64 | 64 | 6464 | 384.0 bit | 6.24e97 years |
Penting: ini adalah anggaran matematik untuk nilai rawak seragam. Kedudukan yang diperlukan, kiraan terhad, kata laluan berulang, corak kamus, kelayakan bocor, dan kos hashing kata laluan sebenar boleh mengubah hasil dengan ketara. Angka ini bukan jaminan keselamatan.
Panduan penggunaan rahsia penandatanganan JWT
Untuk HS256, gunakan sekurang-kurangnya 256 bit bahan kunci rawak seragam. HS384 dan HS512 menggunakan saiz output SHA-2 yang berbeza, tetapi memilih algoritma yang lebih panjang tidak membaiki pengesahan lemah, kunci bocor, atau pepijat kekeliruan algoritma.
Penjanaan terminal dan Node.js yang setara
openssl rand -hex 32 import { randomBytes } from 'node:crypto';
const jwtSecret = randomBytes(32).toString('hex'); Penyimpanan dan penggiliran
- Jauhkan kunci penandatanganan daripada Git, bundle hadapan, URL, analitik, dan log aplikasi.
- Gunakan pengurus rahsia, Vault, KMS, atau pembolehubah persekitaran yang dilindungi.
- Gunakan strategi kid terkawal semasa menggilir kunci.
- Pilih RS256 atau ES256 apabila pengesah hanya perlu memegang kunci awam.
Hex, Base64, dan Base64URL adalah pengekodan—bukan penyulitan. Keselamatan datang daripada bait rawak dan cara kunci penandatanganan dilindungi.
Cara menggunakan hasil dengan selamat
- Semak peraturan kata laluan semasa destinasi
- Gunakan hasil unik dan dayakan MFA jika tersedia
- Simpan kod pemulihan secara berasingan daripada kata laluan
Kaedah penjanaan dan privasi
Praset menggunakan Web Crypto API pelayar untuk pemilihan rawak. Menjana semula, menukar tetapan, memilih, dan menyalin hasil tidak menghantar kelayakan yang dijana ke PwdGen. Penganggar masa retak kata laluan juga berjalan secara setempat dan merupakan anggaran, bukan jaminan.
Penjana Rahsia Jwt FAQ
Berapa panjang rahsia HS256 JWT sepatutnya?
Gunakan sekurang-kurangnya 256 bit bahan kunci rawak seragam untuk HS256. Halaman ini menjana nilai abjad Base64URL sepanjang 64 aksara, yang menyediakan ruang carian teori yang lebih besar apabila dijana secara seragam.
Patutkah rahsia JWT disimpan dalam pembolehubah persekitaran?
Pembolehubah persekitaran lebih selamat daripada kod sumber tetapi masih boleh bocor melalui pemeriksaan proses, log, atau alat penggunaan. Kedai rahsia terurus atau KMS adalah lebih baik untuk sistem pengeluaran.
Bilakah saya harus menggunakan RS256 atau ES256 dan bukannya HMAC?
Gunakan penandatanganan asimetri apabila pengesah tidak sepatutnya memiliki kunci penandatanganan peribadi atau apabila berbilang perkhidmatan memerlukan pengesahan kunci awam. Lindungi kunci peribadi dan putar kunci dengan strategi pengecam kunci terkawal.