Pack Camo

Gerador de JWT Secret

Chaves secretas HS256, HS384 e HS512 aleatórias em hex ou Base64, prontas para o seu .env. Tudo roda localmente — nada é enviado para servidor nenhum.

Entrada
HS256 · HS384 · HS512
Saída
Hex · Base64 · Base64URL · .env

HS256 precisa de pelo menos 32 bytes.

Seu segredo

Chave de 256 bits · HS256 · 0 caracteres

Linha .env

JWT_SECRET=
Testar no decodificador JWT

Gerado no seu dispositivo com crypto.getRandomValues. Nada é enviado nem armazenado.

Um segredo à altura de assinar

Um JWT assinado com HMAC é tão forte quanto o seu segredo. Quem o adivinhar pode criar tokens em que o seu servidor vai confiar, e segredos curtos ou escolhidos por pessoas são justamente o que as ferramentas de quebra offline tentam primeiro. Este gerador tira a chave do gerador de números aleatórios criptográfico do seu navegador, com o tamanho que o algoritmo pede.

Qual deve ser o tamanho do segredo

  • HS256 precisa de pelo menos 32 bytes (256 bits). Qualquer coisa menor é mais fraca que o hash ao qual ele é associado, e muitas bibliotecas recusam.
  • HS384 precisa de pelo menos 48 bytes (384 bits).
  • HS512 precisa de pelo menos 64 bytes (512 bits).
  • Maior não faz mal. Uma chave maior que o tamanho de bloco do hash é reduzida por hash primeiro, então não há ganho além de 64 bytes no HS256 ou de 128 bytes no HS512.

Como usar o segredo

  • Mantenha-o fora do seu código. Coloque-o em uma variável de ambiente ou em um gerenciador de segredos; "Copiar como .env" entrega a linha pronta para colar.
  • Atenção à codificação. Algumas bibliotecas recebem o segredo como texto, outras esperam bytes brutos em Base64. Se você o decodifica para bytes, escolha Base64 ou Base64URL aqui; se a sua biblioteca usa a string como ela é, hex é a escolha mais segura.
  • Trocá-lo desconecta todo mundo. Todo token assinado com o segredo antigo deixa de ser verificado, então planeje a troca em vez de fazê-la às pressas.
  • Teste antes de publicar. "Testar no decodificador JWT" abre o decodificador com um token de exemplo assinado com este segredo, para você ver como é uma assinatura válida.

Perguntas frequentes

Como gero uma chave secreta JWT?
Escolha o algoritmo que o seu servidor usa e um segredo do tamanho certo é gerado na hora. Escolha a codificação que a sua biblioteca espera e copie o segredo ou a linha .env pronta. Clique em Gerar novamente para obter outro.
Qual deve ser o tamanho de um segredo JWT para HS256?
Pelo menos 32 bytes, ou seja, 256 bits: 64 caracteres hex ou 43 caracteres Base64URL. Um segredo menor é mais fraco que o hash SHA-256 com o qual é usado.
É seguro gerar um segredo no navegador?
Sim. A chave vem de crypto.getRandomValues, o mesmo gerador criptográfico que os navegadores usam para TLS, e é criada no seu dispositivo. Ela não é enviada a um servidor, registrada nem armazenada.
Devo usar hex ou Base64 no meu segredo JWT?
Os dois guardam os mesmos bytes aleatórios. Hex é o mais seguro se a sua biblioteca trata o segredo como texto simples; Base64 ou Base64URL é o certo se a sua biblioteca decodifica o segredo para bytes brutos antes, como muitas opções de configuração pedem.
Posso usar uma senha como segredo JWT?
Não é uma boa ideia. Senhas são curtas e previsíveis em comparação com 32 bytes aleatórios, e qualquer pessoa com um dos seus tokens pode tentar adivinhar o segredo offline, o mais rápido que o hardware permitir.