Gerador JWT (HS256, HS384, HS512)
Crie um JSON Web Token assinado com HS256, HS384 ou HS512 usando sua chave secreta, com datas iat e exp automáticas. A assinatura acontece no navegador.
- Grátis
- Sem cadastro
- Nenhum arquivo enviado
- Windows, Mac, Android, iPhone
Carregando a ferramenta…
Sobre esta ferramenta
Escreva o payload do token em JSON, escolha o algoritmo e a chave secreta: o JWT assinado aparece na hora, com as datas de emissão e expiração calculadas para você. Prático para testar uma API protegida sem instalar biblioteca nem entregar sua chave a um site.
Quando usar
Testar uma API protegida
Sua API verifica tokens HS256? Gere um com a mesma chave do ambiente de desenvolvimento, o sub e os papéis necessários, e envie no cabeçalho Authorization: Bearer pelo Postman, curl ou navegador.
Reproduzir um caso-limite
Um token expirado, um papel faltando, uma audiência inesperada: mude o payload e a duração para conferir se o servidor recusa o que deve.
Aprender como funciona um JWT
Ver o cabeçalho, o payload e a assinatura mudarem ao vivo, em cores, ajuda a entender que um JWT é só codificado e assinado, não criptografado.
Como usar
- Escolha o algoritmo e escreva o payload JSON.
- Digite ou gere uma chave secreta.
- Copie o token assinado.
Como funciona
O cabeçalho (campos alg e typ) e o payload são serializados em JSON e codificados em Base64URL. A assinatura é um HMAC calculado sobre “cabeçalho.payload” com a chave secreta e a função hash do algoritmo escolhido (SHA-256, SHA-384 ou SHA-512), usando o Web Crypto, a implementação nativa do navegador.
Se você informar uma duração (15m, 1h, 7d), o campo exp é adicionado com a data de expiração em segundos Unix; iat recebe a data atual. O token gerado é idêntico ao que jsonwebtoken (Node.js), PyJWT ou firebase/php-jwt produziriam com a mesma chave.
Dicas para um melhor resultado
- Use uma chave aleatória de pelo menos 32 bytes para HS256: o botão “Gerar uma chave” cria uma.
- Nunca coloque senha ou dados sensíveis no payload: qualquer um pode ler.
- Não use a chave de produção nos testes: gere uma chave por ambiente.
- Mantenha tokens de acesso de curta duração (5 a 15 minutos) e use refresh tokens para prolongar as sessões.
- Para assinar com chave privada (RS256, ES256), use uma biblioteca no servidor: a chave privada não deve circular.
Problemas comuns e soluções
Meu servidor recusa o token
Confira se a chave é exatamente a mesma (sem espaço no fim) e se o servidor espera o mesmo algoritmo. Alguns servidores esperam uma chave codificada em Base64: decodifique antes.
O token já está expirado
O relógio do servidor e o do seu aparelho podem diferir, ou a duração está curta demais. Aumente a duração ou deixe em branco.
“O payload precisa ser um objeto”
O payload de um JWT é sempre um objeto JSON entre chaves, não um array nem um valor solto.
Perguntas frequentes
Minha chave secreta é enviada para algum lugar?
Não. A assinatura é calculada pelo Web Crypto no navegador; nem a chave nem o payload saem do seu aparelho.
Por que só HS256, HS384 e HS512?
São os algoritmos de segredo compartilhado. RS256 e ES256 exigem uma chave privada que é melhor nunca colar numa página web.
O token é criptografado?
Não. Um JWT assinado é só codificado em Base64URL: qualquer um pode ler o payload. A assinatura só garante que ele não foi alterado.
Como verifico o token que criei?
Abra o decodificador JWT do ZanaKit e cole o token e a mesma chave: a assinatura deve aparecer como válida.
Pesquisas relacionadas
Ainda com problema?
Pergunte no fórum: a categoria, a ferramenta, a ficha do seu dispositivo e o resultado do teste são preenchidos para você.