RH
Tool

Generador de JWT Secret

Genera claves secretas seguras para firmar tokens JWT

Client-side processing
JWT Secret generado
efbcad0e176a648bea658c528dbd0c335b6e15d477be60658c034dcce952cd3c0c7500b4334af01833d8c74b07e2896402de4c9645ef43233bebd6c24f4c3770
128 caracteres512 bits de entropía
32 bytes (256 bits)128 bytes (1024 bits)

Ejemplo de uso en .env

JWT_SECRET=efbcad0e176a648bea658c528dbd0c335b6e15d477be60658c034dcce952cd3c0c7500b4334af01833d8c74b07e2896402de4c9645ef43233bebd6c24f4c3770

Generación segura

Este secret se genera usando la API Web Crypto del navegador con crypto.getRandomValues(), garantizando aleatoriedad criptográficamente segura. El secret nunca sale de tu navegador.

Info

Generador de JWT Secret Online - Claves Seguras para JSON Web Tokens

¿Qué es un JWT Secret y por qué necesitas uno seguro?

El JWT Secret (también llamado signing key o secret key) es una clave criptográfica utilizada para firmar y verificar JSON Web Tokens en algoritmos simétricos como HS256, HS384 y HS512. Esta clave es el corazón de la seguridad de tu sistema de autenticación: si un atacante la obtiene, puede crear tokens válidos para cualquier usuario, incluyendo administradores. Un secret débil o predecible (como "secret", "password123", o claves de ejemplo de tutoriales) es una de las vulnerabilidades más comunes y críticas en implementaciones JWT. Esta herramienta genera secrets con entropía criptográficamente segura usando la Web Crypto API del navegador.

¿Cuántos bits de entropía necesita un JWT Secret?

La seguridad de un JWT Secret depende de su entropía (aleatoriedad). Para HS256, el mínimo recomendado es 256 bits (32 bytes), que coincide con el tamaño de la clave HMAC-SHA256. Para HS384 usa 384 bits (48 bytes) y para HS512 usa 512 bits (64 bytes). En la práctica, secrets de 256-512 bits son más que suficientes para cualquier aplicación. Esta herramienta permite generar secrets de hasta 1024 bits para máxima seguridad futura. Un secret de 256 bits tiene 2^256 combinaciones posibles, un número tan grande que es computacionalmente imposible de adivinar mediante fuerza bruta, incluso con toda la capacidad de cómputo del planeta.

Mejores prácticas para gestionar JWT Secrets en producción

Nunca hardcodees el JWT Secret en tu código fuente ni lo subas a repositorios. Almacénalo en variables de entorno (.env) o en sistemas de gestión de secretos como AWS Secrets Manager, HashiCorp Vault, o Azure Key Vault. Usa secrets diferentes para cada entorno (desarrollo, staging, producción). Implementa rotación periódica de secrets manteniendo el anterior temporalmente para tokens en vuelo. En arquitecturas de microservicios, considera usar algoritmos asimétricos (RS256, ES256) donde solo el servicio de autenticación tiene la clave privada y los demás verifican con la clave pública. Nunca expongas el secret en logs, errores, o respuestas de API.

Preguntas frecuentes

¿Puedo usar cualquier string como JWT Secret?

Técnicamente sí, pero es extremadamente peligroso usar strings predecibles. Frases como "my-secret-key", "jwt-secret", o cualquier palabra de diccionario son vulnerables a ataques de diccionario y fuerza bruta. Herramientas como jwt_tool pueden probar millones de secrets comunes en segundos. Siempre usa secrets generados aleatoriamente con suficiente entropía. Esta herramienta genera bytes aleatorios criptográficamente seguros que son imposibles de adivinar.

¿Debo usar el formato hexadecimal o Base64?

Ambos formatos son válidos y seguros. Hexadecimal usa caracteres 0-9 y a-f, resultando en strings más largos pero universalmente compatibles. Base64 es más compacto (usa A-Z, a-z, 0-9, +, /) pero puede tener caracteres problemáticos en algunos contextos. Para variables de entorno y archivos .env, ambos funcionan bien. La mayoría de librerías JWT aceptan ambos formatos. Elige el que prefieras o el que tu framework espere.

¿Qué pasa si cambio el JWT Secret en producción?

Todos los tokens firmados con el secret anterior se invalidarán inmediatamente. Los usuarios tendrán que volver a autenticarse. Para rotación sin interrupción, implementa soporte para múltiples secrets: primero añade el nuevo secret como secundario para verificación, luego hazlo primario para firma, y finalmente elimina el antiguo después de que todos los tokens hayan expirado. Muchas librerías JWT soportan arrays de secrets para este propósito.

¿Es seguro generar secrets en el navegador?

Sí, esta herramienta usa crypto.getRandomValues() de la Web Crypto API, que proporciona números aleatorios criptográficamente seguros del generador de números aleatorios del sistema operativo. Los secrets generados nunca salen de tu navegador ni se transmiten a ningún servidor. Es tan seguro como generarlos localmente con OpenSSL o cualquier herramienta de línea de comandos.

© 2026
Roberto Hernando
|