Codificador/Decodificador JWT
Decodifica, verifica y genera tokens JWT de forma segura
JWT decodificado
Encabezado
Carga útil
Firma
Encabezado
Carga útil
Ingrese sus datos de carga útil en formato JSON
Clave secreta
Esta clave secreta se utiliza para firmar el JWT. ¡Manténgala segura!
JWT generado
Guía Completa sobre JSON Web Tokens (JWT)
¿Qué es JWT?
JSON Web Token (JWT) es un estándar abierto (RFC 7519) que define una forma compacta y autónoma de transmitir información de forma segura entre partes como un objeto JSON. Esta información puede ser verificada y confiable porque está firmada digitalmente.
La Estructura de un JWT
Un JWT consta técnicamente de tres partes separadas por puntos (.), que son:
- Cabecera (Header) : La cabecera consta típicamente de dos partes: el tipo de token (JWT) y el algoritmo de firma utilizado, como HMAC SHA256 o RSA.
- Carga útil (Payload) : La carga útil contiene las reclamaciones (claims). Las reclamaciones son declaraciones sobre una entidad (típicamente el usuario) y datos adicionales.
- Firma (Signature) : Para crear la parte de la firma, debe tomar la cabecera codificada, la carga útil codificada, un secreto, el algoritmo especificado en la cabecera, y firmarlo.
Algoritmos Soportados
Esta herramienta soporta decodificación y verificación para todos los algoritmos estándar y generación para los simétricos:
- HS256: HS256 (HMAC SHA-256): Simétrico. Requiere una clave secreta compartida.
- HS384: HS384: Simétrico. Usa un hash de 384 bits.
- HS512: HS512: Simétrico. El más seguro para firmas simétricas.
- RS256: RS256 (RSA SHA-256): Asimétrico. Clave privada para firmar, pública para verificar.
- RS384: RS384: Asimétrico.
- RS512: RS512: Asimétrico. Máxima seguridad RSA.
Entendiendo los Claims JWT
Los claims son piezas de información. Los claims registrados estándar incluyen:
- iss (Issuer): iss (Issuer): Identifica al emisor del JWT.
- sub (Subject): sub (Subject): Identifica al sujeto del JWT (ej: ID de usuario).
- aud (Audience): aud (Audience): Identifica a los destinatarios previstos.
- exp (Expiration Time): exp (Expiration): Identifica el tiempo de expiración.
- nbf (Not Before): nbf (Not Before): Tiempo antes del cual el token no es válido.
- iat (Issued At): iat (Issued At): Tiempo de emisión.
- jti (JWT ID): jti (JWT ID): Identificador único.
¿Cuándo usar JWT?
- Autorización: Escenario más común. Tras el login, cada petición incluye el JWT, permitiendo acceso a rutas y recursos.
- Intercambio de Información: Transmisión segura de información entre partes con verificación de identidad.
- Sesiones sin estado: Los JWT contienen todos los datos necesarios, reduciendo consultas a la base de datos.
- SSO Cross-Domain: Ideales para Single Sign-On entre dominios.
- Seguridad API: Protección de APIs RESTful.
Mejores Prácticas de Seguridad: 1. No ponga datos sensibles en el payload. 2. Verifique siempre la firma. 3. Use 'exp' para limitar la vida del token. 4. Use HTTPS. 5. Almacene los tokens de forma segura (Cookies HttpOnly recomendadas sobre LocalStorage).
Preguntas Frecuentes (FAQ)
¿JWT es cifrado o codificación?
Los JWT estándar están codificados y firmados, NO cifrados. Cualquiera puede decodificar y leer el payload (Base64Url). La firma asegura la integridad, no la confidencialidad.
¿Dónde almacenar JWT en el cliente?
Las cookies `HttpOnly` son generalmente más seguras que `localStorage` contra XSS, aunque requieren protección contra CSRF.
¿Qué pasa si roban un JWT?
El ladrón puede hacerse pasar por el usuario hasta que el token expire. Use tiempos de expiración cortos (`exp`) y mecanismos de revocación.
¿Esta herramienta envía mis claves al servidor?
No. Todo se ejecuta en su navegador mediante JavaScript.
¿Puedo modificar el payload manualmente?
Puede, pero invalidará la firma. El servidor rechazará el token.
¿Diferencia entre HS256 y RS256?
HS256 es simétrico (clave compartida). RS256 es asimétrico (privada para firmar, pública para verificar). RS256 es mejor para sistemas distribuidos.
Herramientas Relacionadas
Codificador/Decodificador Base64
Codifique y decodifique rápidamente cadenas Base64, compatible con conversión de texto y archivos
Generador HMAC
Herramienta de generación HMAC en línea que soporta MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3 y RIPEMD-160
Calculadora de Fechas
Calcular días entre fechas, sumar/restar días, calcular edad, contar días laborales
Formateador JSON
Formatee y valide datos JSON para mejorar la legibilidad y depuración
Generador de hash SHA
Herramienta en línea de generación de hash SHA que soporta SHA-1, SHA-256, SHA-384, SHA-512
Cifrado/Descifrado RSA
Usar cifrado asimétrico RSA para cifrado con clave pública, descifrado con clave privada, firma digital y verificación