Gerador JWT
Crie e assine JSON Web Tokens com algoritmos HMAC. Escolha HS256, HS384 ou HS512 — tudo assinado client-side com Web Crypto API.
Como funciona: Configure o algoritmo, edite o payload JSON, insira sua chave secreta e clique em Gerar. O token é assinado inteiramente no seu navegador usando Web Crypto API — seu segredo nunca sai do seu dispositivo.
{
"alg": "HS256",
"typ": "JWT"
}Seu JWT assinado aparecerá aqui...
O que é um JWT?
Um JSON Web Token (JWT) é uma forma compacta e segura para URLs de representar claims entre duas partes. Consiste em três partes separadas por pontos: um header (algoritmo e tipo de token), um payload (claims/dados) e uma assinatura. JWTs são amplamente usados para autenticação, autorização e troca de informações em aplicações web e APIs.
Como funciona a assinatura JWT
A assinatura JWT usa algoritmos criptográficos para garantir que o token não foi adulterado. Algoritmos HMAC (HS256, HS384, HS512) usam uma chave secreta compartilhada — a mesma chave assina e verifica o token. A assinatura é criada fazendo hash do header e payload codificados com o segredo. Qualquer pessoa com o segredo pode verificar a autenticidade do token, mas sem ele, forjar uma assinatura válida é computacionalmente inviável.
Claims comuns em JWT
Payloads JWT contêm claims — pares chave-valor com informações sobre o usuário ou token. Claims padrão incluem: iss (emissor), sub (sujeito/ID do usuário), aud (audiência), exp (tempo de expiração como timestamp Unix), nbf (não antes de), iat (emitido em) e jti (ID único do token). Claims personalizados podem conter qualquer dado serializável em JSON como papéis, permissões ou emails. Mantenha payloads pequenos — JWTs são enviados com cada solicitação.
Melhores práticas de segurança JWT
- Sempre configure expiração (exp) — tokens sem expirar são um risco de segurança
- Use segredos fortes — pelo menos 256 bits para HS256, idealmente bytes aleatórios
- Nunca armazene dados sensíveis no payload — JWTs são codificados, não criptografados
- Use HTTPS — JWTs em trânsito podem ser interceptados em conexões não criptografadas
- Valide todos os claims no servidor — não confie cegamente no token do cliente
- Considere RS256 para sistemas distribuídos — chaves assimétricas evitam compartilhar segredos