Codificador de JWT (Generar y Firmar)
Genera un JWT (JSON Web Token) firmado con HMAC (HS256, HS384 o HS512) a partir del JSON del encabezado y la carga útil, directamente en tu navegador. Nada, ni siquiera la clave secreta, se envía a un servidor.
Algoritmos de firma HMAC compatibles
| Algoritmo | Función hash | Longitud de firma | Descripción |
|---|---|---|---|
| HS256 | SHA-256 | 256 bits (32 bytes) | La firma HMAC predeterminada más utilizada. Es el estándar en muchas implementaciones, incluidos los tokens de ID de OAuth 2.0 y OpenID Connect. |
| HS384 | SHA-384 | 384 bits (48 bytes) | Una opción intermedia cuando se desea una firma más larga que HS256 para un margen de seguridad adicional. |
| HS512 | SHA-512 | 512 bits (64 bytes) | Tiene la mayor longitud de firma y suele combinarse con una clave secreta aleatoria suficientemente larga. |
Consejos
- El JWT se firma enteramente con la Web Crypto API de tu navegador: el encabezado, la carga útil y la clave secreta nunca se envían al servidor de toolbase.cc.
- Al cambiar el algoritmo de firma (HS256/HS384/HS512) se actualiza automáticamente el campo
algdel encabezado JSON. Edita el encabezado directamente si quieres añadir otras reclamaciones comokid. - Esta herramienta solo admite algoritmos HMAC (clave simétrica). Si necesitas un algoritmo de clave pública como RS256 o ES256, utiliza una librería del lado del servidor, como un paquete JWT de Node.js.
- Tras editar el encabezado o la carga útil, recuerda pulsar de nuevo "Generar JWT"; de lo contrario, el token mostrado seguirá firmado con la entrada anterior.
- Para comprobar el contenido de un JWT recién generado, pégalo en la herramienta complementaria Decodificador de JWT y verifica el encabezado y la carga útil.
Preguntas frecuentes
alg, otra implementación que verifique el token podría rechazarlo con un error, así que asegúrate de que ambos coincidan siempre.
A propósito — Por qué la firma de un JWT puede hacerse enteramente en el navegador
Los algoritmos de firma de JWT se dividen en dos grandes familias: los algoritmos de "clave simétrica" (HMAC, es decir HS256/HS384/HS512), donde el emisor y el receptor comparten la misma clave secreta, y los algoritmos de "clave pública" (como RS256 y ES256), donde una clave privada firma y una clave pública verifica. Como los primeros pueden calcularse enteramente con crypto.subtle.sign() de la Web Crypto API (SubtleCrypto) estandarizada por el W3C, sin necesidad de ninguna librería externa, esta herramienta se limita deliberadamente a los algoritmos HMAC.
La seguridad de una firma HMAC depende por completo de lo difícil que sea adivinar la clave secreta, no del contenido del encabezado o la carga útil. El RFC 7518 (JSON Web Algorithms) recomienda una longitud de clave de al menos 256 bits (32 bytes) para HS256; usar una palabra corta o una cadena de diccionario como clave secreta supone el riesgo de que la firma se falsifique por fuerza bruta. En entornos de producción reales, debe usarse una cadena aleatoria suficientemente larga generada por un generador de números aleatorios.
Esta herramienta es una utilidad para desarrolladores pensada para comprobar el comportamiento de una API durante el desarrollo o probar la lógica de verificación de firmas de webhooks. La clave secreta que introduces se gestiona solo en la memoria de tu navegador y nunca se transmite externamente, pero el riesgo de que un equipo compartido o una extensión del navegador recopile el portapapeles o los datos introducidos no es nulo. Recomendamos encarecidamente no introducir nunca una clave que uses realmente en producción en una herramienta como esta, ni siquiera solo para comprobar que funciona.