Qué herramienta web necesito
| Lo que tienes | Aspecto | Herramienta |
|---|---|---|
| Un JSON Web Token | eyJhbGci….eyJzdWIi….sig | Decodificador JWT, codificador JWT |
| Un encabezado Authorization | Basic dXNlcjpwYXNz | Decodificador Basic Auth, encabezado Basic Auth |
Base64 con - y _, sin = | SGVsbG8_d29ybGQ | Decodificador Base64URL, codificador Base64URL |
| Convertir entre los dos alfabetos | Base64 a Base64URL, Base64URL a Base64 | |
| Una data URI | data:image/png;base64,… | Analizador de data URI, generador de data URI |
| Un mensaje SAML | SAMLResponse=PHNhbWxwOl… | Decodificador SAML |
| Un Secret de Kubernetes | valores data: en YAML | Decodificador de Secrets de Kubernetes |
| Un image pull secret | eyJhdXRocyI6… | Decodificador de .dockerconfigjson |
| Base64 comprimido | H4sI… o eJ… | Decodificador Base64 gzip; para crearlo: gzip, zlib |
| Un documento JSON con campos codificados | "body": "eyJ…" | Base64 en JSON |
| Un comando de PowerShell codificado | powershell -enc JABzAD0A… | PowerShell -EncodedCommand |
| Código fuente de un email | Content-Transfer-Encoding: base64 | Decodificador de email, Quoted-printable |
| Texto codificado para URL | q=caf%C3%A9%20menu | Decodificar URL, codificar URL |
| Texto con escapes HTML | <p>Café</p> | Entidades HTML |
Capas sobre capas
Los payloads web suelen ir envueltos varias veces, y cada capa necesita su propia herramienta. Algunas combinaciones habituales:
- Pull secrets: Base64 de Kubernetes alrededor de un JSON de Docker alrededor de un
user:passworden Base64. El decodificador de .dockerconfigjson desenvuelve las tres. - SAML Redirect: XML, raw deflate, Base64, codificación URL. El decodificador SAML deshace la cadena completa.
- Releases de Helm: JSON, gzip, Base64 y otra vez Base64 de Kubernetes.
- URL de redirección: una URL codificada dentro de un parámetro de consulta, a veces codificada dos veces. La opción Decodificar repetidamente del decodificador de URL se encarga de eso.
- Cookies de sesión de Flask: JSON, opcionalmente comprimido con zlib (lo indica un
.inicial), Base64URL y después una marca de tiempo y una firma, unidos con puntos.
Cuando un resultado decodificado todavía parece codificado, compara sus primeros caracteres con la tabla de arriba y sigue con la herramienta correspondiente.
Codificar no es proteger
Ninguno de estos formatos oculta nada. El payload de un JWT, un encabezado Basic Auth, un Secret de Kubernetes y una aserción SAML los puede leer cualquiera que los vea; solo una firma o un cifrado de verdad añaden seguridad. Los decodificadores de aquí son útiles precisamente por eso, y por el mismo motivo conviene mantener esas cadenas fuera de los logs, las capturas de pantalla y los tickets. Más en codificación frente a cifrado.
Para certificados, claves SSH y hashes, consulta claves y certificados. Para cadenas simples y juegos de caracteres, las herramientas de texto.
Preguntas frecuentes
¿Cómo sé qué tipo de cadena codificada tengo?
Por su forma: tres partes separadas por puntos que empiezan por eyJ son un JWT, % con dos dígitos hex es codificación URL, & es escape HTML, H4sI es gzip, y - o _ en un Base64 indican Base64URL. La tabla de esta página recoge más patrones y adónde va cada uno.
¿Estas herramientas son seguras para tokens y secretos de producción?
Funcionan en tu navegador, y la Content Security Policy de la página bloquea todas las peticiones de red salvo las del contador de visitas de Cloudflare, así que los datos pegados no pueden enviarse a ninguna parte. Aun así, trata los tokens vivos con cuidado y rota cualquier secreto que haya quedado expuesto en otro sitio.
¿Qué diferencia hay entre la codificación URL y Base64URL?
La codificación URL escapa caracteres sueltos como %XX y deja el resto legible. Base64URL convierte bytes arbitrarios en letras, dígitos, - y _. Usa la codificación URL para valores de texto y Base64URL para datos binarios y tokens.