Generator JWT
Buat dan tandatangani token JWT langsung di peramban Anda. Masukkan klaim payload (standar seperti sub, aud, exp, dll., serta nilai khusus apa pun), pilih algoritma (HS256 dengan rahasia bersama atau RS256/ES256 dengan kunci privat), lalu alat tersebut akan menghasilkan token tiga komponen. Alat ini sangat berguna untuk pengembangan lokal, pengujian beban, dan reproduksi masalah autentikasi.
Cara Membuat JWT
-
1
Tulis payload-nya.
Tuntutan standar (`sub`, `iss`, `aud`, `exp`, `iat`, `nbf`) serta tuntutan khusus lainnya yang diharapkan oleh aplikasi Anda.
-
2
Pilih algoritma
HS256/384/512 dengan rahasia bersama, atau RS256/ES256 dengan kunci pribadi dalam format PEM.
-
3
Berikan kunci tersebut.
Masukkan teks rahasia bersama untuk HMAC, atau tempelkan kunci pribadi untuk RSA/ECDSA. Kedua data tersebut akan tetap tersimpan di peramban Anda.
-
4
Dihasilkan
Hasilnya adalah token berpenanda tanda. Salinnya, gunakan dalam pengujian, lalu dekodifikasinya menggunakan JWT Decoder untuk dianalisis.
Beban data tipikal untuk token pengguna terautentikasi
{
"iss": "https://auth.example.com",
"aud": "api.example.com",
"sub": "user_12345",
"iat": 1713398400,
"nbf": 1713398400,
"exp": 1713402000,
"jti": "3c7c7e14-2de4-41f0-bf09-1eb5cfad4c01",
"scope": "read:profile write:posts"
}
Pemilihan algoritma: HMAC versus asimetris
| Algoritma | Jenis Kunci | Digunakan saat |
|---|---|---|
| HS256 | Rahasia bersama berukuran 256 bit | Komponen tunggal yang mampu menandatangani dan memverifikasi dirinya sendiri |
| HS384/512 | Rahasia yang lebih panjang | Sama dengan HS256, lebih kuat |
| RS256 | RSA 2048+ | Tanda tangan penerbit; banyak layanan memverifikasi menggunakan kunci publik |
| ES256 | ECDSA P-256 | Sama dengan RS256, tetapi menggunakan tanda tangan yang lebih kecil |
| EdDSA | Ed25519 | Verifikasi asimetris tercepat dengan kunci terkecil |
Kekuatan kunci
- Rahasia HMAC harus memiliki entropi minimal sebesar ukuran keluaran algoritma tersebut. HS256 memerlukan 256 bit acak (32 byte); nilai yang lebih kecil dapat dipecahkan dengan metode brute-force.
- Kunci RSA harus memiliki panjang minimal 2048 bit; untuk token berumur panjang, sebaiknya menggunakan kunci dengan panjang 3072 atau 4096 bit.
- ECDSA (ES256) menawarkan tingkat keamanan yang setara dengan RSA 3072, namun menggunakan kunci yang jauh lebih kecil dan proses penandatanganan yang lebih cepat.
Pedoman masa kedaluwarsa
| Jenis token | Durasi khas exp |
|---|---|
| Token akses | 5–60 menit |
| Token pembaruan | Dari hari hingga minggu |
| Pengaturan ulang kata sandi | 5–15 menit |
| Verifikasi email | 24 jam |
| Layanan ke layanan | 1–5 menit (singkat) |
Token dengan masa berlaku singkat dan mekanisme pembaruan merupakan pola yang umum digunakan saat ini. Sementara itu, token akses berumur panjang sulit dicabut jika telah disusupi.
Kesalahan Umum
- Menggunakan kembali rahasia uji di lingkungan produksi. Generator akan menandai rahasia HS256 serta JWT keluaran sebagai “hanya untuk uji coba” jika rahasia tersebut terlihat lemah. Percayalah pada peringatan ini.
- Menandatangani tanpa
exp. JWT yang tidak memiliki tanggal kedaluwarsa akan tetap sah selamanya. Selalu aturexp, kecuali Anda memiliki alasan yang sangat kuat serta daftar pembatalan (revocation list). - Menggunakan
algdari header pada sisi verifikasi. Selalu masukkan algoritma ke dalam daftar putih di sisi verifikasi; jangan mengikuti apa yang diminta oleh token. - Menempelkan kunci pribadi asli di sini. Generator ini berjalan di peramban Anda, tetapi anggaplah kunci pribadi sebagai rahasia; gunakan kunci uji, bukan kunci produksi.
Pertanyaan yang Sering Diajukan
Tidak. Proses penandatanganan dilakukan di peramban Anda menggunakan Web Crypto API. Kunci tidak pernah keluar dari perangkat Anda. Namun demikian, untuk kunci produksi, buat dan tandatangani kuncinya dalam lingkungan terkendali, bukan di peramban.
HS256 cukup memadai untuk sistem monolitik di mana proses penandatanganan dan verifikasi dilakukan oleh pihak yang sama. RS256 atau ES256 lebih baik digunakan ketika penerbit berbeda dengan pihak verifikator, karena kunci publik dapat dibagikan tanpa membocorkan kunci penandatanganan.
Waktu pengiriman token akses umumnya berkisar antara 5 hingga 15 menit. Gunakan token pembaruan dengan masa berlaku yang lebih panjang untuk pengalaman pengguna yang mulus. Jangan pernah menerbitkan JWT tanpa klaim exp.
Alat ini mendukung pengiriman alg: none untuk pengujian sengaja terhadap token yang rusak atau tidak tertandatangan, disertai peringatan yang jelas. Jangan pernah menerima token semacam itu dalam kode produksi.
Alat Terkait
Identifikasi Enkripsi
Tempel teks rahasia atau hasil hash-nya; identifikator tersebut akan menunjukkan algoritma atau format enkoding yang kemungkinan digunakan, seperti MD5, SHA, bcrypt, AES, RSA, Base64, dan lainnya.
Konverter ETH ke USD
Konversi Ethereum (ETH) ke dolar AS dengan kurs ETH/USD langsung atau kurs yang Anda masukkan sendiri. Lihat nilai dolar dari jumlah ETH berapa pun.
Pengidentifikasi Cipher
Tempel ciphertext dan pengidentifikasi menyarankan skema encoding/cipher yang paling mungkin: Base64, hex, biner, Morse, Caesar atau substitusi, JWT, dan hash umum.
Pemeriksa Checksum
Hitung checksum MD5, SHA-1, SHA-256, SHA-384, SHA-512, atau CRC32 dari teks apa pun dan bandingkan dengan nilai yang diharapkan untuk mendapatkan hasil yang jelas: cocok atau tidak.
Generator CSR
Buat Certificate Signing Request berformat PEM beserta private key RSA yang cocok. Tentukan common name, kolom organisasi, dan ukuran kunci (2048, 3072, atau 4096 bit).
Kalkulator Hash File
Hitung hash MD5, SHA-1, SHA-256, dan SHA-512 dari teks atau isi file yang Anda tempel untuk memverifikasi unduhan dan integritas file.
Alat ini tersedia dalam bahasa lain
- مولد JWT [AR]
- JWT-Generator [DE]
- Bộ tạo JWT [VI]
- JWTジェネレーター [JA]
- JWT 생성기 [KO]
- JWT-generator [NL]
- ตัวสร้าง JWT [TH]
- Générateur de JWT [FR]
- Generador de JWT [ES]
- JWT-generator [SV]
- Gerador de JWT [PT]
- Generator JWT [PL]
- JWT Generator [EN]
- Generatore JWT [IT]
- Генератор JWT [RU]
- JWT Oluşturucu [TR]
- JWT 生成器 [ZH]