Guía del Generador JWT: Creación de Tokens Firmados HS256/RS256

Utilidades

¿Qué es JWT

JSON Web Token (JWT) es un formato de token compacto y autónomo ampliamente utilizado para autenticación e intercambio de información:

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNzAwMDAwMDAwLCJleHAiOjE3MDAwMDgwMDB9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
↑ Header              ↑ Payload                    ↑ Signature

Un JWT consta de tres cadenas codificadas en Base64URL separadas por ..


Estructura de Tres Partes Explicada

{
  "alg": "HS256",
  "typ": "JWT"
}
Campo Significado
alg Algoritmo de firma: HS256, RS256, etc.
typ Tipo de token, siempre JWT

Payload

{
  "sub": "1234567890",
  "name": "John Doe",
  "role": "admin",
  "iat": 1700000000,
  "exp": 1700008000
}
Campo Significado Requerido
sub Sujeto (ID de usuario) Recomendado
iat Marca de tiempo de emisión Recomendado
exp Tiempo de expiración Requerido
iss Emisor Opcional
aud Audiencia Opcional
nbf No Antes de (tiempo efectivo) Opcional

Signature

HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)

La firma asegura que el token no ha sido alterado, pero el Payload NO está cifrado por defecto—nunca ponga datos sensibles en él.


HS256 vs RS256

Comparación HS256 RS256
Tipo de algoritmo Simétrico (HMAC) Asimétrico (RSA)
Clave Secreto compartido (cadena) Clave pública + Clave privada
Verificador Necesita el mismo secreto Solo necesita la clave pública
Caso de uso Servicio único, microservicios internos Multi-servicio, verificación de terceros
Gestión de claves Simple, pero mayor riesgo de fuga Más seguro, la clave pública puede compartirse

Recomendación: Use HS256 para monolitos, RS256 para microservicios/APIs abiertas.


Uso del Generador JWT

Paso 1: Abrir la Herramienta

Visite el Generador JWT para ingresar a la interfaz de creación de tokens.

Paso 2: Seleccionar Algoritmo de Firma

  • Servicio único: Seleccione HS256 e ingrese un secreto compartido
  • Multi-servicio: Seleccione RS256 y pegue una clave privada

Paso 3: Completar el Payload

Agregue claims en el editor de payload:

{
  "sub": "user_10086",
  "name": "John Doe",
  "role": "admin",
  "iat": 1700000000,
  "exp": 1700008000
}

iat y exp usan marcas de tiempo Unix (segundos). La herramienta soporta configuración visual del tiempo de expiración.

Paso 4: Generar el Token

Haga clic en "Generar". La herramienta automáticamente:

  1. Codifica en Base64URL el Header
  2. Codifica en Base64URL el Payload
  3. Calcula la firma usando la clave
  4. Concatena en una cadena JWT completa

Paso 5: Verificar el Token

Pegue el token generado en el Decodificador JWT y confirme:

  • Header y Payload se decodifican correctamente
  • La verificación de firma pasa
  • El tiempo exp no ha pasado

Mejores Prácticas de Tiempo de Expiración

Escenario exp Recomendado Razón
Access Token 15-30 minutos Vida corta, reduce riesgo de fuga
Refresh Token 7-30 días Vida larga, usado para renovación
Enlace de verificación por email 1-24 horas Uso único
API Key Sin exp o 1+ año Credencial a largo plazo

Mejor práctica: Use el enfoque de doble token Access Token + Refresh Token.


Notas sobre Codificación Base64URL

JWT usa codificación Base64URL, que difiere del Base64 estándar:

Diferencia Base64 Estándar Base64URL
+ + -
/ / _
Relleno = No

Al usar la herramienta de Codificación/Decodificación Base64, asegúrese de seleccionar el modo seguro para URL.


Problemas Comunes

Problema Causa Solución
Verificación de firma fallida Clave no coincidente Confirme que la generación y verificación usan la misma clave
Token expirado El tiempo exp ha pasado Regenere o use Refresh Token
Payload ilegible No decodificado con Base64URL Use el Decodificador JWT
Datos sensibles expuestos Payload no cifrado Nunca ponga contraseñas o secretos en el Payload
Verificación RS256 fallida Clave pública no coincidente Confirme que la clave pública coincide con la clave privada

Resumen

JWT es una tecnología central para la autenticación web moderna. Comprender la estructura de tres partes y la diferencia entre HS256/RS256, y configurar correctamente los claims y la expiración, son clave para un uso seguro de JWT. El Generador JWT y el Decodificador JWT le permiten completar el flujo completo de creación, decodificación y verificación de tokens directamente en su navegador.

#JWT#Token生成#HS256#RS256#认证