Cómo se usa
En «Modo de generación» eliges entre caracteres aleatorios o una frase de contraseña. En el modo de caracteres aleatorios eliges la longitud (de 8 a 128 caracteres) y los tipos de caracteres a incluir (minúsculas, mayúsculas, dígitos, símbolos), y puedes editar tú mismo el conjunto de símbolos. En el modo de frase de contraseña eliges el número de palabras (de 3 a 10), el separador, y si quieres poner en mayúscula cada palabra o añadir un número al final. Al pulsar «Generar» puedes crear hasta 20 a la vez, y cada una tiene su propio botón para copiarla.
Por qué importa la aleatoriedad criptográfica
Esta herramienta genera las contraseñas con crypto.getRandomValues del navegador. El habitual Math.random() es un algoritmo predecible (un generador de números pseudoaleatorios): si se conocen valores anteriores, a veces se puede adivinar el siguiente, lo que lo hace inadecuado para fines de seguridad. crypto.getRandomValues usa una fuente de aleatoriedad criptográficamente segura proporcionada por el sistema operativo y, al elegir cada carácter, usa muestreo por rechazo (rejection sampling) para eliminar el sesgo del módulo, de modo que todos los caracteres tienen exactamente la misma probabilidad de salir.
Qué es la entropía
La entropía mide, en bits, cuántos intentos necesitaría un atacante para adivinar una contraseña probando todas las combinaciones una por una. La entropía de una cadena aleatoria se calcula aproximadamente como «longitud × log2(tamaño del conjunto de caracteres)». En una frase de contraseña, como las palabras se eligen sin repetirse, el valor real es ligeramente menor (por ejemplo, elegir 4 palabras de una lista de 256 da un resultado muy cercano a 4 × log2(256) = 32 bits, pero algo por debajo). Esta herramienta muestra menos de 40 bits como «débil», de 40 a 59 como «aceptable», de 60 a 79 como «fuerte», y 80 bits o más como «muy fuerte».
Frase de contraseña frente a cadena aleatoria
Con la misma longitud, una cadena aleatoria alcanza más entropía cuantos más tipos de caracteres use, pero es más difícil de memorizar. Una frase de contraseña encadena palabras reales, así que es más fácil de leer y escribir, y basta con añadir más palabras para aumentar su entropía tanto como haga falta (el mismo principio que Diceware). Las frases de contraseña son mejores para lo que escribes a menudo a mano, como desbloquear un dispositivo o la contraseña maestra de un gestor de contraseñas; las cadenas aleatorias son mejores para cuentas que guardas una vez y casi nunca vuelves a teclear.
No reutilices tus contraseñas
Si la contraseña de un sitio se filtra, todas las demás cuentas que usen esa misma contraseña quedan expuestas (relleno de credenciales). Usa en cada sitio una contraseña distinta creada con esta herramienta y guárdala en un gestor de contraseñas como 1Password o Bitwarden: así no tienes que memorizar nada y sigues estando protegido. En las cuentas importantes, activa también la autenticación en dos pasos (OTP, llave de seguridad, etc.) siempre que puedas.
Privacidad
Las contraseñas generadas y cualquier carácter o palabra que introduzcas se calculan solo dentro de este navegador y no se envían a ningún sitio. No se guardan en ningún servidor y desaparecen en cuanto recargas o cierras la página.