Decodificador / codificador JWT gratis
Inspeccionar, decodificar y codificar JSON Web Tokens, y firmar o verificar firmas HS256.
Cargando herramienta…
Cómo inspeccionar un JWT y verificar una firma HS256
Lee una cabecera y carga útil JWT, verifica HS256 con un secreto compartido o genera un token HS256 a partir de una carga útil JSON.
- Pegar un JWT de tres partes en el campo de fichas.
- Lee su cabecera, carga útil y firma sin asumir que son confiables.
- Para HS256, introduce el secreto compartido y elige Verificar HS256.
- Para crear un token, edita Payload JSON, proporcione un secreto y elige Generar JWT.
Que inspecciona JSON Web Tokens
JSON Web Tokens lleva sesiones de inicio de sesión y permisos de API en muchas aplicaciones web. Los desarrolladores los decodifican para ver qué ID de usuario, roles o caducidad contiene un token cuando se rechaza una solicitud. Los probadores crean tokens de muestra para comprobar cómo una API maneja firmas válidas e inválidas, y los ingenieros de soporte leen tokens para confirmar de qué cuenta vino una solicitud.
Esta herramienta cubre tres empleos. Decodifica la cabecera y la carga útil de cualquier token de tres partes, verifica las firmas HS256 con un secreto compartido, y firma un nuevo token HS256 de una carga útil JSON que tecleas.
Todo pasa en la página. Decodificación no necesita ningún secreto en absoluto, mientras que verificar y generar el uso del secreto se escribe en el campo secreto único, que es compartido por ambas acciones. El editor de carga útil debe contener JSON válido, de lo contrario la generación se detiene con un mensaje de error en lugar de producir un token roto.
Ejemplo trabajado: crear y verificar un token
Mantén la carga útil predeterminada {"sub":"1234568790"",nombre":"Jane","iat":1717000000}, escribe demo-secreto como el secreto y selecciona Generar JWT. El encabezado se convierte en eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9, que decodifica a {"alg":"HS256"","typ":"JWT"}. La parte de carga útil es eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkphbmUiLCJpYXQiOjE3MTcwMDAwMDB9 y la firma es BsO7AudJk86r_jRsQIO175fcfrrZllC2g8vhKsvPBHs.
El nuevo token aparece en el campo token, por lo que puede seleccionar Verificar HS256 de inmediato y ver Firma válida. Cambiar un carácter del secreto y verificar de nuevo, y el resultado se convierte en Signature desajuste. El valor iat 17170000000 es un tiempo Unix en segundos, que es el 29 de mayo de 2024 a las 16:26:40 UTC. La herramienta lo muestra como un número bruto, así que conviértalo con una herramienta de marca de tiempo si necesitas la fecha.
Cómo funcionan la decodificación y la firma HS256
Un JWT tiene tres partes separadas por puntos. Los dos primeros son JSON codificado con Base64URL, que utiliza las letras A a Z y a z, los dígitos 0 a 9, un guión y un subrayado, y deja el relleno. Cualquiera puede decodificar estas partes, por lo que las fichas nunca deben guardar secretos.
La firma es un HMAC-SHA256 de la cabecera de texto.payload, con el secreto compartido y luego la Base64URL codificada. La verificación recomputa ese valor y lo compara. El verificador comprueba primero que el encabezado dice HS256 y rechaza otros algoritmos.
Debido a que la cabecera y la carga útil se vuelven a codificar a partir de tu texto JSON exacto, cambiando incluso un espacio dentro de un valor produce una firma diferente. Los tokens generados siempre usan el encabezado alg HS256 y el tipo JWT, y la carga útil se escribe en forma compacta sin espacio en blanco adicional.
Errores comunes a evitar
No trate una firma válida como prueba de que un token debe ser aceptado. Su servidor todavía debe comprobar la expiración, el emisor, la audiencia y cualquier otra reclamación en la que su sistema confía. No pega secretos de producción ni tokens de usuario en vivo en ninguna herramienta de un ordenador compartido.
Evita los secretos débiles, como las palabras cortas. La seguridad HS256 depende de una llave larga y aleatoria. Recuerda también que los tokens firmados con RS256 u otros algoritmos pueden ser decodificados aquí pero no verificados.
Por último, mantén la diferencia entre codificación y encriptación clara. Base64URL sólo cambia la forma en que se escriben los bytes. Si una carga útil debe permanecer privada, necesita encriptación real, como JWE, en lugar de un símbolo firmado solo.
Consejos útiles y limitaciones
- La interfaz genera y verifica HS256, no RS256.
- Tu solicitud también debe hacer cumplir el emisor, audiencia, vencimiento y otras reclamaciones requeridas.
- Usa un secreto de demo-secreto al construir tokens de prueba, y mantén las claves de firma reales en su servidor solamente.
- Agrega una reclamación de exp para probar cargas útiles para que puedas comprobar que tu API rechaza tokens caducados.
Preguntas frecuentes
¿Puedo leer un JWT sin su secreto?
Sí. Su cabecera y carga útil están codificadas, no cifradas.
¿Una firma válida significa que un token es utilizable?
No necesariamente. Las reclamaciones pueden ser caducadas o inapropiadas incluso cuando la firma coincide.
¿Puedo editar una carga útil sin cambiar tu firma?
No. La edición de una parte firmada requiere una nueva firma con la clave apropiada.
¿Por qué la verificación dice que sólo acepta HS256?
El verificador lee el encabezado del token y se detiene si el alg es algo distinto de HS256, porque sólo implementa controles HMAC-SHA256.
¿El token generado incluye una caducidad automáticamente?
No. El token contiene exactamente las reclamaciones en su carga útil JSON, así que añádase exp usted mismo si necesita uno.
¿Por qué no aparece nada cuando pego mi token?
El decodificador necesita exactamente tres piezas separadas por puntos con JSON Base64URL válido en la cabecera y la carga útil, así que comprueba si faltan caracteres o espacios adicionales.
Su entrada se procesa en tu navegador sin una cuenta ToolWorld Online. Copia o descarga cualquier cosa que quieras guardar antes de salir de la página.
Lee nuestra política de privacidad · Acerca de ToolWorld Online
