Qual ferramenta web eu preciso
| O que você tem | Aparência | Ferramenta |
|---|---|---|
| Um JSON Web Token | eyJhbGci….eyJzdWIi….sig | Decodificador de JWT, codificador de JWT |
| Um cabeçalho Authorization | Basic dXNlcjpwYXNz | Decodificador de Basic Auth, cabeçalho Basic Auth |
Base64 com - e _, sem = | SGVsbG8_d29ybGQ | Decodificador Base64URL, codificador Base64URL |
| Converter entre os dois alfabetos | Base64 para Base64URL, Base64URL para Base64 | |
| Um data URI | data:image/png;base64,… | Analisador de data URI, gerador de data URI |
| Uma mensagem SAML | SAMLResponse=PHNhbWxwOl… | Decodificador SAML |
| Um Secret do Kubernetes | valores em data: no YAML | Decodificador de Secrets do Kubernetes |
| Um image pull secret | eyJhdXRocyI6… | Decodificador de .dockerconfigjson |
| Base64 compactado | H4sI… ou eJ… | Decodificador de Base64 gzip; para criar: gzip, zlib |
| Um documento JSON com campos codificados | "body": "eyJ…" | Base64 em JSON |
| Um comando PowerShell codificado | powershell -enc JABzAD0A… | PowerShell -EncodedCommand |
| Código-fonte bruto de e-mail | Content-Transfer-Encoding: base64 | Decodificador de e-mail, Quoted-printable |
| Texto codificado para URL | q=caf%C3%A9%20menu | URL decode, URL encode |
| Texto com escape de HTML | <p>Café</p> | Entidades HTML |
Camadas sobre camadas
Payloads web costumam vir embrulhados várias vezes, e cada camada precisa da sua própria ferramenta. Algumas pilhas comuns:
- Pull secrets: Base64 do Kubernetes em volta de JSON do Docker em volta de um
user:passwordem Base64. O decodificador de .dockerconfigjson desembrulha as três. - SAML Redirect: XML, raw deflate, Base64, codificação de URL. O decodificador SAML desfaz a cadeia inteira.
- Releases do Helm: JSON, gzip, Base64 e de novo o Base64 do Kubernetes.
- URLs de redirecionamento: uma URL codificada dentro de um parâmetro de query, às vezes codificada duas vezes. A opção Decodificar repetidamente do decodificador de URL resolve isso.
- Cookies de sessão do Flask: JSON, opcionalmente compactado com zlib (um
.no início indica isso), Base64URL, depois um timestamp e uma assinatura, unidos por pontos.
Quando um resultado decodificado ainda parecer codificado, compare os primeiros caracteres com a tabela acima e continue com a ferramenta correspondente.
Codificação não é proteção
Nenhum desses formatos esconde coisa alguma. O payload de um JWT, um cabeçalho Basic Auth, um Secret do Kubernetes e uma assertion SAML podem ser lidos por qualquer um que os veja; só uma assinatura ou criptografia de verdade acrescenta segurança. Os decodificadores daqui são úteis justamente por isso, e pelo mesmo motivo vale manter essas strings fora de logs, capturas de tela e tickets. Mais em codificação vs criptografia.
Para certificados, chaves SSH e hashes, veja chaves e certificados. Para strings simples e charsets, as ferramentas de texto.
Perguntas frequentes
Como saber que tipo de string codificada eu tenho?
Pelo formato: três partes separadas por pontos começando com eyJ são um JWT, % com dois dígitos hex é codificação de URL, & é escape de HTML, H4sI é gzip, e - ou _ no Base64 indicam Base64URL. A tabela desta página lista mais padrões e para onde cada um vai.
Essas ferramentas são seguras para tokens e segredos de produção?
Elas rodam no seu navegador, e a Content Security Policy da página bloqueia todas as requisições de rede, exceto as do contador de visitas da Cloudflare, então os dados colados não podem ser enviados a lugar nenhum. Mesmo assim, trate tokens ativos com cuidado e troque qualquer segredo que tenha sido exposto em outro lugar.
Qual é a diferença entre codificação de URL e Base64URL?
A codificação de URL escapa caracteres individuais como %XX e mantém o resto legível. O Base64URL transforma bytes arbitrários em letras, dígitos, - e _. Use codificação de URL para valores de texto e Base64URL para dados binários e tokens.