Generador de JWT (HS256)
Crea JSON Web Token firmados con HS256 localmente en tu navegador, sin subir nada.
Cargando Generador de JWT (HS256)… Si no ocurre nada, activa JavaScript.
Un JSON Web Token, o JWT, es un formato de token compacto y firmado que se usa por todas partes en la autenticación y autorización modernas. Un JWT empaqueta una cabecera y una carga útil de reclamaciones en dos segmentos codificados en Base64url, y luego añade una firma que demuestra que el token no ha sido manipulado. Este generador construye para ti un token HS256 totalmente válido: ensambla la cabecera estándar, codifica tu carga útil y firma el resultado con HMAC-SHA256 usando un secreto que tú proporcionas. Es la contraparte natural de un decodificador de JWT, ya que te permite crear los tokens que de otro modo solo podrías inspeccionar.
Preguntas frecuentes
¿Se envía mi secreto o mi carga útil a algún sitio?
¿Qué es HS256 y cómo funciona la firma?
¿Qué debería poner en la carga útil?
¿Cómo añado un tiempo de expiración?
¿Es HS256 lo bastante seguro para producción?
¿Por qué obtuve un error de JSON no válido?
¿Puedo decodificar el token que acabo de generar?
¿Funciona el generador sin conexión?
Acerca de Generador de JWT (HS256)
HS256 es el algoritmo de JWT más utilizado. Es simétrico, lo que significa que se usa el mismo secreto tanto para crear como para verificar la firma, lo que simplifica las cosas cuando un único servicio emite y comprueba sus propios tokens. Para usar la herramienta, pega una carga útil JSON que contenga tus reclamaciones (las comunes incluyen sub para el sujeto, iat para el momento de emisión y exp para la expiración), introduce tu secreto de firma y pulsa Generar. La herramienta valida que tu carga útil sea JSON bien formado, informa de un error claro si no lo es, y produce un token en la familiar forma cabecera.carga útil.firma listo para copiar.
La firma ocurre enteramente en tu navegador a través de la API Web Crypto nativa, sin biblioteca externa y sin solicitud de red. Tu carga útil y, lo más importante, tu secreto nunca salen de tu dispositivo, nunca se registran y nunca se transmiten. Como el secreto es lo único que debe permanecer confidencial para que HS256 sea seguro, hacer el trabajo en local es exactamente el enfoque correcto. La herramienta también funciona totalmente sin conexión una vez cargada la página.
El formato de token oculto a plena vista
Los JWT se estandarizaron en el RFC 7519 en 2015, como parte de una familia de especificaciones JOSE (JavaScript Object Signing and Encryption). El formato es deliberadamente seguro para URL: cada uno de los tres segmentos se codifica en Base64url, que cambia los caracteres más y barra por guion y guion bajo para que un token pueda viajar en una URL, una cabecera HTTP o una cookie sin más escapes.
Un detalle que sorprende a muchos desarrolladores es que la carga útil de un JWT firmado no está cifrada, solo codificada. Cualquiera que intercepte el token puede decodificar en Base64url el segmento del medio y leer cada reclamación de su interior. La firma garantiza la integridad y la autenticidad (que el token fue emitido por alguien que posee el secreto y no ha sido alterado), pero no hace nada por ocultar el contenido. Por eso nunca deberías colocar contraseñas ni otros secretos en la carga útil de un JWT.
La vulnerabilidad de JWT más infame tenía que ver con el campo del algoritmo en la cabecera. Algunas bibliotecas tempranas confiaban en el valor alg a ciegas, lo que permitía a un atacante establecerlo en 'none' y eliminar la firma por completo, o cambiar un token de un algoritmo asimétrico a uno simétrico y falsificarlo usando la clave pública como secreto HMAC. Las bibliotecas modernas se defienden de esto exigiendo que el algoritmo esperado se especifique de antemano, una lección que dio forma a cómo se validan los JWT hoy.