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
Generator Hash
Buat hash MD5, SHA-1, SHA-256, SHA-384, SHA-512, dan CRC32 dari teks, dengan digest siap salin untuk checksum dan perbandingan.
Penyandi Sandi Vigenère
Enkripsi dan dekripsi pesan dengan sandi Vigenère klasik memakai kata kunci. Menggeser huruf Latin A-Z sambil mempertahankan kapitalisasi, spasi, dan tanda baca.
Generator Kunci PGP
Buat pasangan kunci OpenPGP berformat ASCII armor beserta sertifikat pencabutan menggunakan Curve25519, RSA 2048, atau RSA 4096.
Generator TOTP
Hasilkan one-time password berbasis waktu (RFC 6238) dari secret Base32, dengan SHA-1, SHA-256 atau SHA-512, 6 sampai 8 digit, dan periode 30 atau 60 detik.
Pembuat Kunci SSH
Buat pasangan kunci SSH RSA (2048, 3072, atau 4096 bit) sepenuhnya di peramban Anda. Baik kunci privat maupun kunci publik tidak pernah meninggalkan perangkat Anda. Tambahkan komentar dan unduh keduanya.
Konverter Wei ke Ether
Konversi Wei ke Ether (ETH) dengan aritmetika tepat, tanpa pembulatan floating-point. 1 ETH = 10^18 Wei.
Alat ini tersedia dalam bahasa lain
- JWT-generator [NL]
- Generador de JWT [ES]
- JWT 생성기 [KO]
- Générateur de JWT [FR]
- JWT-Generator [DE]
- ตัวสร้าง JWT [TH]
- Gerador de JWT [PT]
- Generator JWT [PL]
- Bộ tạo JWT [VI]
- مولد JWT [AR]
- JWT-generator [SV]
- JWTジェネレーター [JA]
- JWT Generator [EN]
- Generatore JWT [IT]
- Генератор JWT [RU]
- JWT Oluşturucu [TR]
- JWT 生成器 [ZH]