0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Configuración
Genera y decodifica JSON Web Tokens (JWT) con algoritmos HMAC (HS256/384/512), RSA (RS256/384/512), RSA-PSS (PS256/384/512) y ECDSA (ES256/384/512). En modo Generar, completá el payload JSON y la clave secreta para crear el token. En modo Leer, pegá un token existente para inspeccionar su header, payload y verificar la firma.

HMAC con SHA-256. Clave simétrica compartida. Recomendado para uso general.

Clave secreta
Entrada

Cómo funciona

Un JSON Web Token (JWT) es un token compacto y firmado que transporta información (claims) entre dos partes. Se compone de tres partes separadas por puntos —header, payload y firma—, cada una codificada en Base64URL.

En modo Generar definís el header y el payload en JSON y firmás con una clave secreta (HMAC) o con una clave privada (RSA/ECDSA). En modo Leer pegás un token existente para inspeccionar su contenido y verificar la firma.

El payload no está cifrado: cualquiera puede leerlo decodificando el Base64URL. La firma solo garantiza que el token no fue alterado, no lo oculta. Nunca pongas datos sensibles en un JWT.

Ejemplos

header{"alg":"HS256","typ":"JWT"} → eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
payload{"sub":"1234567890","name":"John Doe","iat":1516239022} → eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ
tokeneyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5cLa firma (tercera parte) depende del algoritmo y de la clave; este ejemplo usa HS256 con la clave "your-256-bit-secret".

Casos de uso

  • Autenticar usuarios en APIs: el servidor emite un token firmado y lo valida en cada petición sin guardar sesión.
  • Inspeccionar y depurar tokens de autenticación para ver sus claims (sub, exp, roles) y fechas.
  • Verificar la firma de un token con la clave secreta o la clave pública para confirmar que no fue manipulado.
  • Generar tokens de prueba con distintos algoritmos (HMAC, RSA, ECDSA) al desarrollar un flujo de autenticación.

Preguntas frecuentes

¿El contenido de un JWT está cifrado?

No. El header y el payload solo están codificados en Base64URL, que cualquiera puede decodificar. La firma garantiza integridad (que no se alteró), no confidencialidad.

¿Cuál es la diferencia entre HS256 y RS256?

HS256 usa una única clave secreta compartida para firmar y verificar (HMAC). RS256 es asimétrico: se firma con una clave privada y se verifica con la pública, ideal cuando muchos servicios necesitan validar sin poder emitir.

¿Qué significan los claims iat, exp y nbf?

Son marcas de tiempo estándar: iat (emitido en), exp (expira en) y nbf (no válido antes de). Se expresan en segundos desde 1970 (epoch Unix).

¿Por qué se desaconseja el algoritmo "none"?

Porque produce un token sin firma: cualquiera puede modificar el payload y seguirá siendo aceptado. Solo sirve para pruebas, nunca en producción.

¿Se envía mi token a un servidor?

No. La generación, decodificación y verificación ocurren íntegramente en tu navegador; el token y las claves nunca salen de tu dispositivo.