Generatore JWT
Crea e firma un JWT direttamente nel tuo browser. Inserisci le dichiarazioni del payload (standard sub, aud, exp, ecc. più qualsiasi cosa personalizzata), scegli l’algoritmo (HS256 con un segreto condiviso o RS256/ES256 con una chiave privata) e lo strumento produce il token a tre parti. Utile per lo sviluppo locale, il test di carico e la riproduzione di problemi di autenticazione.
Come generare un JWT
-
1
Scrivi il payload
Dichiarazioni standard (`sub`, `iss`, `aud`, `exp`, `iat`, `nbf`) più eventuali personalizzazioni che la tua app si aspetta.
-
2
Scegli l'algoritmo
HS256/384/512 con un segreto condiviso, o RS256/ES256 con una chiave privata in formato PEM.
-
3
Fornisci la chiave
Testo del segreto condiviso per HMAC, o incolla la chiave privata per RSA/ECDSA. Entrambe rimangono nel tuo browser.
-
4
Genera
L'output è il token firmato. Copialo, usalo nei test, decodificalo con il Decoder JWT per ispezionarlo.
Payload tipico per un token utente autenticato
{
"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"
}
Scelta dell’algoritmo: HMAC vs asimmetrico
| Algoritmo | Tipo di chiave | Usa quando |
|---|---|---|
| HS256 | segreto condiviso a 256 bit | Monolite che firma e verifica se stesso |
| HS384/512 | Segreto più lungo | Stesso di HS256, più forte |
| RS256 | RSA 2048+ | L’emittente firma, molti servizi verificano con chiave pubblica |
| ES256 | ECDSA P-256 | Stesso di RS256 ma firme più piccole |
| EdDSA | Ed25519 | Verifica asimmetrica più veloce, chiavi più piccole |
Forza della chiave
- I segreti HMAC devono avere almeno la stessa entropia della dimensione dell’output dell’algoritmo. HS256 necessita di 256 bit casuali (32 byte); meno è vulnerabile a brute-force.
- Le chiavi RSA dovrebbero essere di almeno 2048 bit; 3072 o 4096 per token a lungo termine.
- ECDSA (ES256) offre una sicurezza comparabile a RSA 3072 con chiavi molto più piccole e firma più veloce.
Linee guida sulla scadenza
| Tipo di token | Durata tipica exp |
|---|---|
| Token di accesso | 5 - 60 minuti |
| Token di aggiornamento | Giorni a settimane |
| Ripristino password | 5 - 15 minuti |
| Verifica email | 24 ore |
| Servizio a servizio | 1-5 minuti (breve) |
Scadenza breve + token di aggiornamento è il modello moderno. I token di accesso a lungo termine sono difficili da revocare quando compromessi.
Errori comuni
- Riutilizzare un segreto di test in produzione. Il generatore contrassegna i segreti HS256 e il JWT di output come solo per test se il segreto sembra debole. Fidati di quell’avviso.
- Firmare senza
exp. Un JWT senza scadenza è valido per sempre. Imposta sempreexpa meno che tu non abbia una ragione molto valida e una lista di revoca. - Usare l’
algdall’intestazione sul verificatore. Sempre autorizza gli algoritmi sul lato di verifica; non seguire ciò che il token richiede. - Incollare qui una vera chiave privata. Questo generatore funziona nel tuo browser ma tratta le chiavi private come segreti: usa chiavi di test, non quelle di produzione.
Domande frequenti
No. La firma avviene nel tuo browser utilizzando l’API Web Crypto. Le chiavi non lasciano mai la tua macchina. Detto ciò, per le chiavi di produzione, genera e firma in un ambiente controllato, non in un browser.
HS256 va bene per un monolite dove lo stesso servizio firma e verifica. RS256 o ES256 è meglio quando l’emittente è separato dal verificatore, le chiavi pubbliche possono essere condivise senza esporre la chiave di firma.
Breve. 5-15 minuti per i token di accesso è tipico. Usa un token di aggiornamento con una vita più lunga per un’esperienza utente senza soluzione di continuità. Non emettere mai JWT senza una dichiarazione exp.
Lo strumento supporta l’emissione di alg: none per testare deliberatamente token non firmati o rotti, con un avviso evidente. Non accettare mai tali token nel codice di produzione.
Strumenti correlati
Generatore CSR
Genera una richiesta di firma del certificato codificata in PEM e la chiave privata RSA corrispondente. Specifica il nome comune, i campi dell'organizzazione e la dimensione della chiave (2048, 3072 o 4096 bit).
Identificatore di Crittografia
Incolla un testo cifrato o un hash e l'identificatore suggerisce algoritmi o codifiche probabili: MD5, SHA, bcrypt, AES, RSA, Base64 e altro.
Identificatore di Cifrari
Incolla il testo cifrato e l'identificatore suggerisce i probabili schemi di codifica/cifratura: Base64, esadecimale, binario, Morse, Caesar o sostituzione, JWT e hash comuni.
Verificatore di checksum
Calcola il checksum MD5, SHA-1, SHA-256, SHA-384, SHA-512 o CRC32 di qualsiasi testo e confrontalo con un valore atteso per ottenere un verdetto chiaro di corrispondenza o divergenza.
Codificatore di file Base64
Codifica qualsiasi file (PDF, ZIP, immagine, eseguibile) in testo Base64 per l'inserimento in JSON, email, YAML o URI di dati. Funziona localmente, senza upload.
Codificatore A1Z26
Codifica il testo utilizzando il cifrario A1Z26 (A=1, B=2, ... Z=26) o decodifica una sequenza di numeri in lettere, con separatore personalizzabile.
Strumento disponibile in altre lingue
- JWT-Generator [DE]
- Générateur de JWT [FR]
- JWT-generator [SV]
- JWT 생성기 [KO]
- JWT-generator [NL]
- مولد JWT [AR]
- Generador de JWT [ES]
- Generator JWT [ID]
- JWTジェネレーター [JA]
- ตัวสร้าง JWT [TH]
- Bộ tạo JWT [VI]
- Generator JWT [PL]
- Gerador de JWT [PT]
- JWT Oluşturucu [TR]
- JWT 生成器 [ZH]
- JWT Generator [EN]
- Генератор JWT [RU]