O que esta ferramenta faz
Entra um token, saem o cabeçalho e a carga dele em JSON.
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.SflKxwRJSMeKKF2QT4fwpM
{
"header": {
"alg": "HS256",
"typ": "JWT"
},
"payload": {
"sub": "1234567890"
}
}
Os dois segmentos estão em Base64URL, que é codificação e não cifra: quem tem o token consegue lê-los, aqui ou com três linhas de código. A assinatura não aparece em lugar nenhum porque não há nada a ler nela — ela é uma prova, e provar exige uma chave.
Decodificar não é verificar
A carga acima diz que o sujeito é 1234567890. Dizer isso não prova nada: mude o texto, codifique de novo, e você terá um token que decodifica igualmente limpo e falha na verificação. Esta página não consegue notar a diferença, e nenhum decodificador consegue — é para isso que serve a assinatura.
Então: um decodificador serve para ver o que um token alega; o seu servidor e a sua chave servem para decidir se acredita. Se um dia os dois se contradisserem, quem tem razão é a assinatura.
Três segmentos, e só três
Not a JWT: expected header.payload.signature, found 2 segments
Um JWT compacto tem exatamente três. Dois ou quatro eram decodificados assim mesmo: um token cortado por um copiar e colar voltava com aparência impecável — um defeito encontrado ao escrever esta página e corrigido. Cinco segmentos são outro formato: um JWE, cuja carga é cifrada em vez de codificada, e a mensagem diz isso em vez de falhar na decodificação.
Ler a carga
- Os identificadores numéricos longos sobrevivem. Um
subde vinte algarismos passa algarismo por algarismo, em vez de ser arredondado para um vizinho por um número JavaScript. exp,iatenbfsão timestamps Unix. Em segundos, não em milissegundos, como manda a especificação. A ferramenta de timestamp deste site os transforma em datas.- As alegações são o que o emissor pôs ali.
alg,typ,sub,isseaudsão padronizadas; o resto é um acordo entre as suas duas pontas.
Privado por padrão
Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.