> decodificar | inspeccionar | verificar <
// Decodifique e inspeccione JSON Web Tokens (JWT) al instante
Procesamiento Local
Decodificación JWT 100% del lado del cliente. Sus tokens nunca salen de su navegador.
Auto-Decodificación
Decodifique automáticamente tokens JWT al pegar o escribir.
Inspección Completa del Token
Vea encabezado, payload y firma. Verifique algoritmo y expiración.
// SOBRE LA DECODIFICACIÓN JWT
Estructura JWT:
Un JSON Web Token (JWT) consta de tres partes codificadas en Base64URL separadas por puntos: encabezado.payload.firma. El encabezado especifica el algoritmo y tipo de token. El payload contiene las reclamaciones (datos). La firma verifica la integridad del token.
Ejemplo:
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.signature → {"alg":"HS256"} + {"sub":"1234"}
Casos de Uso Comunes:
- >Depuración de tokens de autenticación en aplicaciones web
- >Inspección de tokens OAuth 2.0 y OpenID Connect
- >Verificación de expiración y reclamaciones de tokens
- >Comprensión de la estructura JWT según RFC 7519
- >Verificación de la integridad de codificación Base64URL
>> preguntas frecuentes
P: ¿Qué es un JSON Web Token (JWT)?
R: JWT (JSON Web Token) es un estándar abierto (RFC 7519) para transmitir información de forma segura entre partes como un objeto JSON. Es compacto, seguro para URLs y comúnmente usado para autenticación.
P: ¿Cuáles son las tres partes de un JWT?
R: Un JWT consta de tres partes separadas por puntos: el Encabezado (algoritmo y tipo), el Payload (reclamaciones y datos) y la Firma (hash de verificación). Cada parte está codificada en Base64URL.
P: ¿Se puede decodificar un JWT sin la clave secreta?
R: Sí, el encabezado y el payload de un JWT pueden ser decodificados por cualquiera ya que están simplemente codificados en Base64URL (no cifrados). La clave secreta solo es necesaria para verificar la firma.
P: ¿Cuál es la diferencia entre JWT y autenticación basada en sesiones?
R: Las sesiones almacenan el estado en el servidor con una cookie de ID de sesión. Los JWT no tienen estado — el token mismo contiene toda la información necesaria. Los JWT son mejores para sistemas distribuidos y APIs.
P: ¿Cómo funciona la expiración de JWT?
R: La reclamación exp en el payload JWT especifica el tiempo de expiración como una marca de tiempo Unix. Después de este tiempo, el token debe considerarse inválido. Este decodificador verifica la reclamación exp y muestra si el token aún es válido o ha expirado.
// Algoritmos de firma JWT comunes
El valor alg de la cabecera define cómo se firma. HS* usa un secreto compartido; RS*, PS*, ES* y EdDSA usan pares de claves.
| alg | Algoritmo |
|---|---|
| HS256 | HMAC + SHA-256 |
| HS512 | HMAC + SHA-512 |
| RS256 | RSA PKCS#1 v1.5 + SHA-256 |
| PS256 | RSASSA-PSS + SHA-256 |
| ES256 | ECDSA P-256 + SHA-256 |
| EdDSA | Ed25519 |
// Verificar un JWT en código
Decodificar no verifica nada. Al verificar, indica siempre explícitamente los algoritmos permitidos.
Node.js (jsonwebtoken) jwt.verify(token, secret, { algorithms: ['HS256'] })
Python (PyJWT) jwt.decode(token, key, algorithms=["HS256"])
PHP (firebase/php-jwt) JWT::decode($token, new Key($key, 'HS256'))
Go (golang-jwt) jwt.Parse(token, keyFunc, jwt.WithValidMethods([]string{"HS256"}))
Java (jjwt) Jwts.parser().verifyWith(key).build().parseSignedClaims(token)
>> Más preguntas
P: ¿Qué significan los claims estándar iss, sub, aud, exp, nbf, iat y jti?
R: iss es el emisor, sub el sujeto (normalmente el ID de usuario), aud el destinatario previsto, exp la expiración, nbf el inicio de validez, iat el momento de emisión y jti un identificador único del token. Las fechas son segundos Unix.
P: ¿Un JWT está cifrado?
R: Un JWT firmado normal (JWS) no está cifrado, solo codificado en Base64URL: cualquiera puede leer su contenido. La firma solo protege contra manipulación. No incluyas datos sensibles o usa un JWE cifrado.
P: ¿Cómo verifico la firma de un JWT?
R: Necesitas la clave: el secreto compartido en HS256 o la clave pública en RS256/ES256. El servidor recalcula la firma de Cabecera.Carga y la compara. Este decodificador funciona en el navegador y no verifica la firma por ti: usa una biblioteca contrastada.
P: ¿Cuáles son los errores de seguridad habituales con JWT?
R: Frecuentes: confiar en el valor alg del propio token (sobre todo none), secretos HS256 débiles, no comprobar exp, iss y aud, datos sensibles en la carga y guardar tokens de larga duración en localStorage.