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
No secret generated yet
Haga clic a continuación para generar una clave criptográficamente segura en su navegador.
Integration Code Snippets
# .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ámetro | Estándar y Valor Requerido |
|---|---|
| Tamaño Mínimo HS256 | 256 bits (32 bytes / 64 caracteres hex) |
| Tamaño Mínimo HS384 | 384 bits (48 bytes / 96 caracteres hex) |
| Tamaño Mínimo HS512 | 512 bits (64 bytes / 128 caracteres hex) |
| Fuente de Entropía | Web 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).
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.