Configuración de Clave Secreta JWT

Bytes pseudoaleatorios criptográficamente seguros generados con Web Crypto CSPRNG

Configuración de Clave Secreta JWT

Bytes pseudoaleatorios criptográficamente seguros generados con Web Crypto CSPRNG

RFC 7518 recomienda ≥ 256 bits para HS256

No secret generated yet

Haga clic a continuación para generar una clave criptográficamente segura en su navegador.

Integration Code Snippets

Live preview with your generated key
# .env configuration (Never commit this to version control)
JWT_SECRET="YOUR_GENERATED_SECRET_HERE"
JWT_EXPIRES_IN="15m"
JWT_ALGORITHM="HS256"

Cómo Generar un Secreto JWT Criptográficamente Seguro

1. Seleccione el Algoritmo de Firma

Elija HS256 (HMAC-SHA256), HS384 o HS512 según los requisitos de seguridad de su arquitectura de API.

2. Ajuste la Longitud en Bits y Bytes

RFC 7518 exige que el secreto sea igual o superior a la salida del hash (≥ 256 bits para HS256, ≥ 384 bits para HS384, ≥ 512 bits para HS512).

3. Seleccione el Formato de Codificación

Elija Hex (recomendado para bytes puros), Base64 estándar o Base64URL para compatibilidad total con cabeceras HTTP.

4. Copie e Inyecte en Variables de Entorno

Haga clic en Copiar y guarde el secreto en su archivo .env (JWT_SECRET) o administrador de secretos. Nunca lo suba a Git.

Arquitectura Criptográfica y Estándar RFC 7518

La especificación RFC 7518 (Sección 3.2) exige que las claves de algoritmos HMAC tengan una longitud igual o mayor que el tamaño de salida del hash SHA-2. Si un secreto tiene baja entropía o menos de 256 bits, un atacante que intercepte un token puede ejecutar ataques de fuerza bruta offline con GPU sin activar alertas en el servidor.

Especificación / ParámetroEstándar y Valor Requerido
Tamaño Mínimo HS256256 bits (32 bytes / 64 caracteres hex)
Tamaño Mínimo HS384384 bits (48 bytes / 96 caracteres hex)
Tamaño Mínimo HS512512 bits (64 bytes / 128 caracteres hex)
Fuente de EntropíaWeb Crypto CSPRNG (window.crypto.getRandomValues)

Límites de Seguridad y Buenas Prácticas de Producción

Todas las claves en esta herramienta se generan en la memoria local de su navegador utilizando entropía de hardware. Nunca se transmiten por la red ni se almacenan en servidores externos. En producción, rote sus secretos periódicamente y use administradores de secretos (AWS Secrets Manager, Vault).

Nunca incluya el secreto JWT en el frontend de su aplicación o en repositorios de código público. Si el secreto se filtra, cualquier atacante puede generar tokens de administrador legítimos.

Preguntas Frecuentes: Generación de Secretos JWT

¿Por qué 256 bits en hexadecimal ocupan 64 caracteres?

256 bits equivalen a 32 bytes (256 / 8). En hexadecimal, cada byte se representa con 2 caracteres (00 a ff). Por lo tanto, 32 bytes producen exactamente 64 caracteres.

¿Es seguro usar una clave de 128 bits para HS256?

No. El estándar RFC 7518 estipula un mínimo de 256 bits para HS256. Claves más cortas son vulnerables a ataques de fuerza bruta acelerados por GPU.

¿Cómo genera esta herramienta aleatoriedad criptográfica real?

Utiliza la API window.crypto.getRandomValues(), que extrae entropía directa del núcleo del sistema operativo. No utiliza Math.random().

¿Cuál es la diferencia entre Hex y Base64?

Ambos representan los mismos bytes binarios. Hex usa 16 caracteres y genera 64 caracteres para 32 bytes; Base64 usa 64 caracteres y genera 44 caracteres.

Guías Técnicas Relacionadas

Ver todas las guías
Generador de clave secreta JWT – Claves HS256, HS384, HS512