1001Ferramentas
🔐Segurança

Força do Secret JWT

Mede a força de um secret HMAC para assinar JWT: tamanho em bytes, entropia aproximada e nível.

Seu secret HS256 tem bytes suficientes

Você herdou um projeto onde JWT_SECRET vale supersecret e precisa de um argumento numérico para convencer o time a trocar. Cole o valor na caixa e a ferramenta devolve três coisas: o tamanho em bytes, uma estimativa de entropia em bits e um nível que vai de FRACO a EXCELENTE. Tudo recalculado a cada tecla, sem botão para apertar.

A conta é simples e convém saber qual é. O tamanho vem da codificação UTF-8, então acento e emoji contam mais de um byte. O alfabeto é estimado somando 26 para minúsculas, 26 para maiúsculas, 10 para dígitos e 32 para símbolos, conforme as classes presentes, e a entropia sai como número de caracteres vezes o logaritmo na base 2 desse total. O nível, porém, olha apenas o tamanho: abaixo de 16 bytes FRACO, abaixo de 32 MÉDIO, abaixo de 64 BOM, daí em diante EXCELENTE.

A fórmula pressupõe que cada caractere foi sorteado, o que raramente é verdade. Trinta e duas letras a seguidas marcam 150 bits e nível BOM, e são adivinhadas de primeira. Leia o número como piso, não como atestado: serve muito bem para reprovar secret curto e nada para aprovar frase inventada. A RFC 7518 pede chave de pelo menos 32 bytes para HS256; gere a sua com openssl rand -base64 48. A análise roda no navegador e nada é enviado.

Perguntas frequentes

32 bytes já bastam para HS256?
Bastam, desde que sejam 32 bytes aleatórios de verdade. A RFC 7518 exige chave com pelo menos o tamanho da saída do hash, que no HS256 é 256 bits.
Por que uma senha repetitiva recebe nível BOM?
Porque o nível considera só o comprimento em bytes, e a entropia exibida assume sorteio uniforme. Nenhum dos dois enxerga repetição ou palavra de dicionário.
Serve para avaliar chave RS256?
Não. RS256 usa par de chaves RSA, cuja força vem do tamanho do módulo. Esta medida vale para o segredo compartilhado das famílias HMAC, como HS256, HS384 e HS512.

Ferramentas Relacionadas