Cara menggunakan
- Tentukan jumlah byte acak untuk setiap token. 32 byte (256 bit) adalah pilihan awal yang aman untuk secret.
- Pilih encoding yang sesuai dengan tempat token akan digunakan, dan tambahkan prefix jika perlu, seperti “myapp_live_”.
- Tentukan jumlah token yang dibutuhkan, lalu salin satu token atau gunakan “Salin semua”. Tekan “Buat lagi” untuk menghasilkan kumpulan token baru.
Cara kerja
Token dibuat dari byte acak yang dihasilkan oleh crypto.getRandomValues, generator aman secara kriptografis yang tersedia di browser dan sistem operasi Anda. Math.random tidak pernah digunakan.
Untuk hex, Base64, dan Base64URL, alat ini mengambil tepat sejumlah byte yang Anda pilih lalu mengodekannya. Jadi, token 32 byte selalu memiliki entropi 256 bit: 64 karakter hex, 44 karakter Base64 (termasuk satu tanda = untuk padding), atau 43 karakter Base64URL. Base64URL mengganti + dan / dengan - dan _ serta menghapus padding, sehingga dapat digunakan di URL, nama file, dan header HTTP tanpa perlu melakukan escaping.
Token alfanumerik hanya menggunakan A–Z, a–z, dan 0–9, sehingga terhindar dari karakter yang diperlakukan khusus oleh beberapa sistem. Setiap karakter membawa sekitar 5,95 bit, jadi alat ini mengambil karakter secukupnya untuk mencapai setidaknya jumlah bit yang dipilih (43 karakter untuk 256 bit). Karakter dipilih dengan rejection sampling agar peluang terpilihnya masing-masing dari 62 karakter sama.
Prefiks ditambahkan sebagai teks biasa dan tidak menambah entropi. Prefiks seperti “sk_live_” memudahkan kunci yang bocor dikenali dan ditemukan oleh pemindai rahasia. Simpan rahasia di pengelola kata sandi atau penyimpanan rahasia, bukan di kode sumber.
Contoh
Rahasia penandatanganan webhook
32 byte dalam hex menghasilkan rahasia sepanjang 64 karakter dengan entropi 256 bit. Anda dapat menempelkannya ke konfigurasi pengirim dan penerima untuk tanda tangan HMAC-SHA-256.
Kunci API dengan prefiks yang mudah dikenali
Pilih 24 byte, Alfanumerik, dan prefiks “acme_live_”. Setiap kunci berbentuk acme_live_ diikuti 33 huruf dan angka, memiliki setidaknya 192 bit, dan mudah dikenali di log atau pemindai rahasia.
Token reset yang aman untuk URL
16 byte dalam Base64URL menghasilkan token sepanjang 22 karakter (128 bit) yang dapat langsung digunakan dalam tautan seperti /reset?token=… tanpa percent-encoding.
Pertanyaan yang sering diajukan
Berapa byte yang sebaiknya dimiliki sebuah rahasia?
128 bit (16 byte) cukup untuk membuat token seperti ID sesi mustahil ditebak. Untuk rahasia yang berlaku lama, seperti kunci penandatanganan, rekomendasi umum adalah 256 bit (32 byte), yang sesuai dengan ukuran keluaran SHA-256.
Encoding mana yang sebaiknya dipilih?
Entropinya sama untuk jumlah byte yang sama; yang berbeda hanya bentuk teksnya. Gunakan hex untuk kompatibilitas maksimal, Base64URL untuk token pendek di URL dan header, serta alfanumerik jika sistem menolak tanda baca.
Apakah token disimpan atau dicatat?
Tidak. Token dibuat di tab browser ini dan akan hilang saat Anda meninggalkan halaman. Token tidak dikirim ke server atau disertakan dalam analitik.
Bisakah token ini digunakan sebagai kata sandi?
Ya, tingkat keacakannya memadai, tetapi situs sering mensyaratkan kombinasi beberapa jenis karakter. Password Generator memungkinkan Anda mengatur ketentuan tersebut secara langsung.
Privasi
Token dibuat di browser Anda menggunakan crypto.getRandomValues. Token tidak diunggah, disimpan, dicatat, atau dikirim ke analitik; hanya peristiwa anonim yang menandakan penggunaan alat ini yang dicatat.