Tentang generator ini
Prasetel ini membuat nilai entropi tinggi yang aman URL untuk penandatanganan HMAC JWT. Ini adalah rahasia pengembang, bukan kata sandi pengguna, dan tidak pernah meninggalkan browser ini.
Prasetel ini dimulai dengan mode url-safe dan menghasilkan 10 hasil independen sekaligus. Setiap pengaturan yang terlihat tetap dapat disesuaikan, dan nilai yang dihasilkan tidak dikirim ke PwdGen.
Kapan menggunakannya
- Membuat kredensial baru untuk kasus penggunaan spesifik ini
- Mengganti kata sandi yang digunakan kembali atau lemah
- Menghasilkan nilai secara lokal sebelum penyimpanan aman
Ukuran alfabet, entropi, dan asumsi brute-force
Batas atas entropi teoretis dihitung sebagai H = L × log2(A), dengan L adalah panjang yang dihasilkan dan A adalah jumlah karakter yang saat ini diizinkan.
| Panjang | Alfabet | Ruang pencarian | Batas atas entropi | Rata-rata pada 10 miliar tebakan/detik |
|---|---|---|---|---|
| 64 | 64 | 6464 | 384.0 bit | 6.24e97 years |
Penting: ini adalah perkiraan matematis untuk nilai acak seragam. Posisi yang diperlukan, jumlah terbatas, kata sandi berulang, pola kamus, kredensial bocor, dan biaya hashing kata sandi nyata dapat mengubah hasil secara substansial. Angka ini bukan jaminan keamanan.
Panduan penerapan kunci penandatanganan JWT
Untuk HS256, gunakan setidaknya 256 bit materi kunci acak seragam. HS384 dan HS512 menggunakan ukuran output SHA-2 yang berbeda, tetapi memilih algoritma yang lebih panjang tidak memperbaiki verifikasi yang lemah, kunci bocor, atau bug kebingungan algoritma.
Pembuatan setara terminal dan Node.js
openssl rand -hex 32 import { randomBytes } from 'node:crypto';
const jwtSecret = randomBytes(32).toString('hex'); Penyimpanan dan rotasi
- Jauhkan kunci penandatanganan dari Git, bundel frontend, URL, analitik, dan log aplikasi.
- Gunakan pengelola rahasia, Vault, KMS, atau variabel lingkungan yang dilindungi.
- Gunakan strategi kid yang terkontrol saat merotasi kunci.
- Pilih RS256 atau ES256 ketika verifikator hanya perlu menyimpan kunci publik.
Hex, Base64, dan Base64URL adalah encoding—bukan enkripsi. Keamanan berasal dari byte acak dan bagaimana kunci penandatanganan dilindungi.
Cara menggunakan hasil dengan aman
- Periksa aturan kata sandi saat ini di tujuan
- Gunakan hasil unik dan aktifkan MFA jika tersedia
- Simpan kode pemulihan terpisah dari kata sandi
Metode pembuatan dan privasi
Prasetel menggunakan Web Crypto API browser untuk pemilihan acak. Meregenerasi, mengubah pengaturan, memilih, dan menyalin hasil tidak mengirim kredensial yang dihasilkan ke PwdGen. Estimator waktu retak kata sandi juga berjalan secara lokal dan merupakan perkiraan, bukan jaminan.
Generator Rahasia Jwt FAQ
Berapa panjang rahasia HS256 JWT yang seharusnya?
Gunakan setidaknya 256 bit materi kunci acak seragam untuk HS256. Halaman ini menghasilkan nilai alfabet Base64URL sepanjang 64 karakter, yang menyediakan ruang pencarian teoretis lebih besar saat dihasilkan secara seragam.
Haruskah rahasia JWT disimpan dalam variabel lingkungan?
Variabel lingkungan lebih aman daripada kode sumber tetapi masih bisa bocor melalui inspeksi proses, log, atau alat deployment. Penyimpan rahasia terkelola atau KMS lebih baik untuk sistem produksi.
Kapan saya harus menggunakan RS256 atau ES256 alih-alih HMAC?
Gunakan penandatanganan asimetris ketika verifikator tidak boleh memiliki kunci privat penandatanganan atau ketika beberapa layanan memerlukan verifikasi kunci publik. Lindungi kunci privat dan rotasi kunci dengan strategi pengidentifikasi kunci yang terkontrol.