Generador de contraseñas

Elige la longitud y los tipos de caracteres, y copia una contraseña creada con el generador de números aleatorios seguro de tu navegador. No se envía ni se guarda nada.

Tipo
Caracteres que usar
Tu contraseña Creando una contraseña en tu navegador…
Fortaleza
Muy fuerte
Entropía
125 bits
Tiempo para adivinarla
Más tiempo del que lleva existiendo el universo
Caracteres posibles
77

El tiempo para adivinarla es la media para un atacante que prueba 10 mil millones de combinaciones por segundo, aproximadamente lo que consigue un equipo de GPU contra un hash rápido. Un hash lento como bcrypt lo alarga muchísimo.

¿Configuras un servidor nuevo? Usa una contraseña distinta para la cuenta root, la base de datos y el panel de control. Desde 3,02 € al mes hoy, entre 2226 servidores.

Funciona en tu navegador: nada de lo que escribes se envía a ningún sitio.

Cómo se crea la contraseña

Cada carácter se elige al azar entre los caracteres que permitiste, con el generador de números aleatorios criptográfico de tu navegador (crypto.getRandomValues). Los valores aleatorios que harían más probables algunos caracteres se descartan y se vuelven a sacar, así que todos los caracteres son igual de probables. Si eliges varios tipos de caracteres, la contraseña siempre contiene al menos uno de cada.

entropía = longitud × log2(caracteres posibles)
frase de contraseña = palabras × log2(palabras de la lista)
tiempo para adivinarla = 2^(entropía − 1) ÷ intentos por segundo

La entropía mide cuántos intentos necesita un atacante. Cada bit extra la duplica, así que la longitud importa más que los símbolos: 20 letras y dígitos superan a 12 caracteres con todos los símbolos. Una frase de contraseña de palabras aleatorias es más fácil de escribir y recordar, y necesita unas siete palabras para ser tan fuerte como una contraseña aleatoria de 12 caracteres.

Ejemplo

Una contraseña de 16 caracteres con letras mayúsculas y minúsculas y dígitos tiene 62 caracteres posibles: 16 × log2(62) ≈ 95 bits. A 10 mil millones de intentos por segundo, encontrarla lleva de media unos 76 mil millones de años. Seis palabras aleatorias de una lista de 1296 dan 62 bits, unos 7 años a la misma velocidad.

Crea una en el servidor

En un servidor Linux puedes crear una contraseña aleatoria sin navegador. Cualquiera de estos comandos imprime una; puede que primero tengas que instalar pwgen (apt install pwgen).

shell
openssl rand -base64 24
pwgen -s 24 1
head -c 18 /dev/urandom | base64

Preguntas

¿Es seguro este generador de contraseñas?

Sí. La contraseña la crea el generador de números aleatorios criptográfico de tu navegador cuando la página ya se ha cargado. Nunca se envía a nuestro servidor ni se guarda, y la página funciona igual con la red desconectada.

¿Cuánto debe medir la contraseña de un servidor?

Al menos 16 caracteres aleatorios, o 20 o más para cualquier cosa accesible desde internet, como una contraseña de root, de base de datos o de panel. Para SSH, usa una clave en lugar de una contraseña y desactiva el inicio de sesión con contraseña.

¿Es mejor una frase de contraseña que una contraseña aleatoria?

Es más fácil de escribir y recordar, y igual de fuerte si es lo bastante larga: siete palabras aleatorias de esta lista dan unos 72 bits. Elige las palabras al azar, como aquí; una frase que se te ocurra a ti es mucho más fácil de adivinar.

¿Por qué faltan algunos símbolos?

Las comillas, las barras invertidas, los espacios, $ y # rompen comandos de shell, archivos .env y cadenas de conexión si no se escapan. Los símbolos que se ofrecen aquí funcionan sin comillas casi en cualquier sitio. Añade longitud en lugar de símbolos cuando necesites más fortaleza.