Ir para o conteúdo

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

  1. Escolha o algoritmo e escreva o payload JSON.
  2. Digite ou gere uma chave secreta.
  3. 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ê.