Generator Kunci Rahasia
Buat kunci rahasia untuk JWT HS256/HS512, AES-128/256, Laravel APP_KEY, Rails secret_key_base, Django SECRET_KEY, dan cookie sesi dengan keacakan yang aman.
256 bit entropi · 43 karakter per nilai
Dibuat secara lokal dengan crypto.getRandomValues; tidak ada yang dikirim atau disimpan. Simpan secret di variabel lingkungan atau secret manager, jangan di kode sumber.
Apa itu Generator Kunci Rahasia?
Framework dan pustaka membutuhkan kunci rahasia acak dalam format tertentu: string Base64url 256 bit untuk JWT HS256, 32 byte hex untuk AES-256, base64: + 32 byte untuk APP_KEY Laravel, 128 karakter hex untuk secret_key_base Rails, 50 karakter untuk SECRET_KEY Django. Pilih Kegunaan dan alat ini membuat kunci dengan panjang dan pengodean yang tepat, atau sesuaikan sendiri formatnya.
Cara menggunakan Generator Kunci Rahasia
- Pilih Kegunaan seperti Secret JWT HS256 (256 bit, Base64url) atau Laravel APP_KEY.
- Sesuaikan Format dan Byte acak / Panjang (karakter) bila perlu (ini berpindah ke Kustom).
- Klik Buat ulang sampai Anda mendapat kunci yang diinginkan, lalu salin ke variabel lingkungan Anda.
Contoh
Purpose: JWT HS256 secret (256 bits, Base64url)
-IXerdjEBBrFmWvMzQ0izB3-w1aweuEukH9SlJBWmwE
Entropi 256 bit. Acak, jadi kunci Anda akan berbeda.
Kapan menggunakan Generator Kunci Rahasia
Pakai saat menyiapkan lingkungan baru, merotasi kunci yang bocor, atau mengonfigurasi penandatanganan JWT. Untuk penandatanganan asimetris (RS256, ES256) Anda membutuhkan pasangan kunci, bukan secret bersama. Jangan pernah commit kunci ke Git; simpan di variabel lingkungan atau secret manager.
Cara kerja Generator Kunci Rahasia
Semua kunci berasal dari crypto.getRandomValues. Preset berbasis byte mengambil jumlah byte persis yang dibutuhkan algoritma (16 untuk AES-128, 32 untuk AES-256 dan HS256, 64 untuk HS512 dan Rails) dan mengodekannya sebagai hex, Base64, atau Base64url. Kunci Django berupa 50 karakter yang dipilih seragam dari huruf dan angka (sekitar 298 bit). Baris entropi menampilkan kekuatan dalam bit dan memberi peringatan di bawah 128 bit.
Kasus Penggunaan Umum
- Mengatur APP_KEY untuk deployment Laravel baru
- Membuat secret penandatanganan JWT HS256
- Membuat kunci AES-256 untuk mengenkripsi data saat disimpan
- Merotasi secret Django atau Rails setelah kebocoran
Catatan Keamanan
Dibuat secara lokal dan tidak pernah dikirim ke mana pun. Siapa pun yang memiliki kunci dapat memalsukan token atau mendekripsi data, jadi simpan hanya di variabel lingkungan atau secret manager.
Pertanyaan Umum
Seberapa panjang secret JWT HS256 sebaiknya?
Minimal 256 bit (32 byte), seukuran keluaran SHA-256, seperti yang direkomendasikan RFC 7518. HS512 sebaiknya memakai 512 bit.
Apakah ini sama dengan menjalankan php artisan key:generate?
Ya dalam format: perintah Laravel juga membuat 32 byte acak, mengodekannya dengan Base64, dan menambahkan awalan base64:.
Apa yang terjadi jika saya mengganti kunci aplikasi yang sedang berjalan?
Sesi, cookie bertanda tangan, token, dan apa pun yang dienkripsi dengan kunci lama menjadi tidak valid atau tidak dapat dibaca. Rencanakan rotasi dengan hati-hati.