Decodificador JWT
Decodifique JSON Web Tokens para inspeccionar encabezados y cargas útiles.
¿Qué es un JSON Web Token (JWT) y por qué usar un decodificador?
Un JSON Web Token (JWT) es un medio compacto y seguro para URL de representar información ("claims") que se transfiere entre dos partes. Un JWT consta típicamente de tres partes separadas por puntos (.): el Encabezado, la Carga Útil (Payload) y la Firma. Dado que los JWT están codificados en Base64Url, no están cifrados por defecto; cualquiera que pueda ver el token puede ver los datos que contiene. Por eso, un decodificador JWT es esencial durante el desarrollo: permite a los ingenieros verificar rápidamente la información del usuario y los permisos. ProUtil ofrece un entorno seguro en el lado del cliente para realizar esta inspección sin riesgos de privacidad.
Cómo inspeccionar y depurar JSON Web Tokens
Asegure su Token: Copie la cadena JWT completa de su cabecera de autorización.
Entrada de Token: Pegue la cadena codificada en el campo de "Token Codificado".
Análisis de Encabezado: Identifique el algoritmo de firma (ej., HS256 o RS256).
Inspección de Carga Útil: Revise los atributos del usuario, emisor (iss) y expiración (exp).
Verifique la Expiración: Localice el campo "exp" para determinar si el token sigue siendo válido.
Lógica de Verificación: Identifique el tercer segmento para comprender la integridad.
Formatee para Legibilidad: Use la vista JSON formateada para leer fácilmente datos complejos.
Sanitice Datos Sensibles: Nunca incluya contraseñas en el payload, ya que es fácilmente decodificable.
Identifique Errores: Nuestra herramienta le avisará si el formato del token es incorrecto.
Depuración Privada: Use los botones de copiar para mover partes específicas a sus logs localmente.
Funciones avanzadas de inspección JWT para ingenieros
Ejemplo de decodificación JWT
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoyMDI2fQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
{
"sub": "1234567890",
"name": "John Doe",
"iat": 2026
}Entendiendo errores de seguridad e implementación de JWT
Formato de Token Mal Formado
Un JWT válido debe tener exactamente dos puntos (.) separando tres partes.
Errores de relleno Base64Url
Los JWT omiten el relleno "=". Si se añade manualmente, la decodificación fallará.
Fuga de datos sensibles
Incluir información personal en el payload es un riesgo, ya que solo está codificado, no cifrado.
Claims de expiración (exp)
Si el token ha expirado, su aplicación devolverá errores 401 Unauthorized.
Confusión de Algoritmos
Asegúrese de que la cabecera "alg" coincida con el algoritmo esperado por su servidor.
Vulnerabilidad de algoritmo "none"
Desconfíe de los tokens donde el algoritmo está configurado como "none".
Preguntas frecuentes sobre JWT
Q.¿Es seguro decodificar mi JWT en línea?
Con ProUtil sí. Nuestra herramienta funciona íntegramente en su navegador. El token nunca se transmite a nuestros servidores.
Q.¿Cuál es la diferencia entre HS256 y RS256?
HS256 usa una clave secreta compartida (simétrica). RS256 usa un par de claves pública/privada (asimétrica), siendo más seguro para sistemas distribuidos.
Q.¿Puedo cambiar los datos en un JWT y volver a firmarlo?
Puede cambiar el payload, pero la firma quedará invalidada. Necesitaría la clave original para volver a firmarlo correctamente.
Q.¿Están cifrados los JWT?
Por defecto no. Los tokens estándar JWS solo están codificados y firmados. Para ocultar los datos necesita usar JWE (JSON Web Encryption).
Q.¿Por qué se usa Base64Url?
Para reemplazar caracteres como "+" y "/" por "-" y "_" facilitando su uso en URLs sin necesidad de codificación adicional.
Q.¿Qué no debe guardarse nunca en un JWT?
Nunca guarde información sensible como contraseñas o números de tarjeta de crédito en el payload.
Q.¿Cómo manejo la expiración?
El claim `exp` indica cuándo deja de ser válido. Su aplicación debe verificarlo y rechazar tokens caducados.
Q.¿Qué es un "claim" en un JWT?
Es una pieza de información sobre un sujeto. Los claims estándar incluyen `sub`, `iss`, `aud` y `exp`.
Q.¿Afecta el tamaño del payload al rendimiento?
Sí. Como se envían en cada petición HTTP, los payloads grandes aumentan la carga de la red.
Q.¿Puede revocarse un JWT?
Son sin estado, por lo que son válidos hasta que expiran. Para revocarlos antes se necesita una lista de denegación en el servidor.
Q.¿LocalStorage o Cookies?
LocalStorage es vulnerable a XSS. Las cookies HttpOnly son más seguras frente a XSS pero deben protegerse contra CSRF.
Q.¿Qué pasa si no verifico la firma?
Un atacante podría crear tokens falsos con roles de administrador y su sistema confiaría en ellos.
Q.¿Qué es el encabezado "kid"?
Es el ID de la clave usada para firmar el token, útil cuando se usan múltiples claves públicas.
Q.¿Hay un límite de tamaño?
No técnico, pero muchos servidores limitan el tamaño de las cabeceras (normalmente a 8KB o 16KB).
Q.¿Por qué mi firma es inválida?
Puede deberse a una manipulación del token, al uso de una clave incorrecta o a corrupción de datos durante la transmisión.
Q.¿Es ProUtil de código abierto?
¡Sí! Puede inspeccionar nuestro código en GitHub para verificar nuestro compromiso con la privacidad.