Generador de claves secretas

Genera claves secretas para JWT HS256/HS512, AES-128/256, APP_KEY de Laravel, secret_key_base de Rails, SECRET_KEY de Django y cookies de sesión, con aleatoriedad segura.

Salida

256 bits de entropía · 43 caracteres por valor

Generado localmente con crypto.getRandomValues; no se envía ni se guarda nada. Guarda los secretos en variables de entorno o en un gestor de secretos, nunca en el código fuente.

¿Qué es Generador de claves secretas?

Los frameworks y librerías necesitan claves secretas aleatorias en un formato concreto: una cadena Base64url de 256 bits para JWT HS256, 32 bytes hex para AES-256, base64: + 32 bytes para el APP_KEY de Laravel, 128 caracteres hex para el secret_key_base de Rails, 50 caracteres para el SECRET_KEY de Django. Elige el Uso y la herramienta genera una clave con la longitud y la codificación correctas, o personaliza tú el formato.

Cómo usar Generador de claves secretas

  1. Elige un Uso, como Secreto JWT HS256 (256 bits, Base64url) o Laravel APP_KEY.
  2. Ajusta el Formato y los Bytes aleatorios o la Longitud si hace falta (esto cambia a Personalizado).
  3. Haz clic en Volver a generar hasta tener la clave y cópiala en tus variables de entorno.

Ejemplo

Entrada
Uso: Secreto JWT HS256 (256 bits, Base64url)
Salida
-IXerdjEBBrFmWvMzQ0izB3-w1aweuEukH9SlJBWmwE

256 bits de entropía. Aleatoria: tu clave será distinta.

Cuándo usar Generador de claves secretas

Úsalo al configurar un entorno nuevo, rotar una clave filtrada o configurar la firma de JWT. Para firmas asimétricas (RS256, ES256) necesitas un par de claves, no un secreto compartido. No hagas nunca commit de claves en Git; ponlas en variables de entorno o en un gestor de secretos.

Cómo funciona Generador de claves secretas

Todas las claves provienen de crypto.getRandomValues. Los preajustes basados en bytes sacan exactamente el número de bytes que necesita el algoritmo (16 para AES-128, 32 para AES-256 y HS256, 64 para HS512 y Rails) y los codifican en hex, Base64 o Base64url. La clave de Django son 50 caracteres elegidos de forma uniforme entre letras y dígitos (unos 298 bits). La línea de entropía muestra la fuerza en bits y avisa si baja de 128 bits.

Casos de Uso Comunes

  • Configurar el APP_KEY de un nuevo despliegue de Laravel
  • Crear un secreto de firma JWT HS256
  • Generar una clave AES-256 para cifrar datos en reposo
  • Rotar los secretos de Django o Rails tras una filtración

Nota de Seguridad

Se genera en local y nunca se envía a ningún sitio. Cualquiera que tenga la clave puede falsificar tokens o descifrar datos, así que guárdala solo en variables de entorno o en un gestor de secretos.

Preguntas Frecuentes

¿Qué longitud debe tener un secreto JWT HS256?

Al menos 256 bits (32 bytes), el tamaño de la salida de SHA-256, como recomienda RFC 7518. HS512 debería usar 512 bits.

¿Es lo mismo que ejecutar php artisan key:generate?

Sí en cuanto al formato: el comando de Laravel también crea 32 bytes aleatorios, los codifica en Base64 y les añade el prefijo base64:.

¿Qué pasa si cambio la clave de una aplicación en marcha?

Las sesiones existentes, las cookies firmadas, los tokens y todo lo cifrado con la clave anterior dejan de ser válidos o legibles. Planifica las rotaciones con cuidado.

Explora más categorías