Cómo funciona
Cada carácter se elige con crypto.getRandomValues, el generador de números aleatorios criptográficamente seguro que incluye tu navegador. El generador usa muestreo por rechazo, así que todos los caracteres del conjunto tienen exactamente la misma probabilidad. (El atajo habitual de tomar un número aleatorio módulo el tamaño del conjunto hace que algunos caracteres salgan un poco más a menudo).
Con todos los tipos seleccionados, los caracteres salen de un conjunto de 90: 26 mayúsculas, 26 minúsculas, 10 dígitos y 28 símbolos (!#$%&()*+,-./:;<=>?@[]^_{|}~). No se usan la ñ, las comillas, las barras invertidas, los acentos graves ni los espacios, porque algunas webs, teclados y sistemas los manejan mal.
Seguridad
La seguridad que se muestra es la entropía de la contraseña: su longitud multiplicada por log₂ del número de caracteres posibles.
| Contraseña | Entropía | Valoración |
|---|---|---|
| 8 letras minúsculas | 37,6 bits | Muy débil |
| 8 caracteres, todos los tipos | 51,9 bits | Débil |
| 12 letras y dígitos | 71,5 bits | Aceptable |
| 12 caracteres, todos los tipos | 77,9 bits | Aceptable |
| 16 caracteres, todos los tipos | 103,9 bits | Muy fuerte |
| 20 caracteres, todos los tipos | 129,8 bits | Muy fuerte |
Esto vale para contraseñas aleatorias como las que se generan aquí. Una contraseña que te inventas, como Verano2026!, parece compleja pero se adivina rápido, porque los atacantes prueban primero palabras y patrones habituales.
Buenas prácticas
- Usa una contraseña distinta para cada cuenta. Cuando se filtran los datos de una web, las contraseñas reutilizadas se prueban en todas las demás.
- Guárdalas en un gestor de contraseñas en lugar de en una nota o una hoja de cálculo. Las rellena por ti, así que la longitud no te cuesta nada.
- Activa la verificación en dos pasos en el correo, el banco y cualquier cuenta que pueda restablecer otras cuentas.
- Prioriza la longitud sobre las reglas de complejidad cuando puedas elegir. Las recomendaciones actuales del NIST prefieren contraseñas más largas a obligar a mezclar tipos de caracteres.