Qué hace segura una contraseña
Una contraseña segura es la que un atacante no puede adivinar en un tiempo razonable. Lo deciden dos cosas: su longitud y la cantidad de caracteres distintos que puede tener cada posición. El azar también importa. Una contraseña que inventas tú, como el nombre de tu mascota con un año al final, es mucho más fácil de adivinar de lo que sugiere su longitud, porque las personas elegimos de forma predecible.
Esta herramienta elige cada carácter al azar entre los grupos que permitas. Eso hace que su fortaleza sea fácil de medir y que no haya ningún patrón que aprovechar.
Cómo usar el generador de contraseñas
- En cuanto se carga la página aparece una contraseña nueva en Tu contraseña.
- Arrastra el control Longitud, o usa los botones de menos y más, para elegir entre 4 y 128 caracteres. El valor por defecto es 20.
- En Caracteres que se usan, activa o desactiva Mayúsculas, Minúsculas, Números y Símbolos.
- Elige tus opciones:
- Evitar caracteres parecidos (I l 1 O 0) quita los caracteres que se confunden con facilidad.
- Usar todos los tipos elegidos garantiza que aparezca al menos un carácter de cada grupo seleccionado.
- Pulsa Nueva para otra contraseña y Copiar para copiarla.
- ¿Necesitas varias? Elige un número en Cuántas contraseñas. Aparecen en Todas las contraseñas, y Copiar todas copia la lista entera.
Debajo de la contraseña, una barra y una etiqueta muestran la fortaleza con una estimación en bits.
Niveles de fortaleza
| Bits de entropía | Etiqueta |
|---|---|
| menos de 28 | Muy débil |
| de 28 a 44 | Débil |
| de 45 a 63 | Aceptable |
| de 64 a 99 | Fuerte |
| 100 o más | Muy fuerte |
Ejemplos
Estas contraseñas y cifras salen de ejecutar el generador. No las uses, porque ahora son públicas.
| Longitud | Caracteres | Bits | Etiqueta | Ejemplo |
|---|---|---|---|---|
| 6 | Números | 19.93 | Muy débil | 546382 |
| 8 | Minúsculas | 37.60 | Débil | orvapcvl |
| 8 | Los cuatro tipos | 51.93 | Aceptable | QpF4b@<V |
| 12 | Los cuatro tipos | 77.90 | Fuerte | .y9}g-.ta$rP |
| 16 | Letras y números | 95.27 | Fuerte | ydrGkOZ9PrXPB6TL |
| 16 | Los cuatro tipos | 103.87 | Muy fuerte | Aj~oJ-WDTW}8rJu2 |
| 20 | Los cuatro tipos | 129.84 | Muy fuerte | CwEfwEyMg)>w~b-tMx.9 |
| 20 | Los cuatro, sin caracteres parecidos | 127.50 | Muy fuerte | B;8#]&Dr/*3X8y]fP#-P |
Fíjate en que la longitud pesa más que la variedad. Pasar de 8 a 16 caracteres con los cuatro tipos duplica más o menos los bits.
Cómo funciona
Los cuatro grupos contienen 26 mayúsculas, 26 minúsculas, 10 dígitos y 28 símbolos: 90 caracteres en total. Evitar caracteres parecidos quita 7: I, l, 1, la barra vertical, O, 0 y o. Quedan 83.
Las letras son las del alfabeto inglés, sin ñ ni vocales con tilde. Es una ventaja: la contraseña se puede escribir en cualquier teclado y no da problemas en sistemas que no aceptan esos caracteres.
Cada carácter se saca con crypto.getRandomValues, la fuente de números aleatorios criptográfica del navegador. La herramienta convierte los números aleatorios en caracteres con muestreo por rechazo en lugar de un simple resto de división, así que todos los caracteres de la reserva tienen exactamente la misma probabilidad.
Cuando Usar todos los tipos elegidos está activado, si una contraseña no incluye alguno de los grupos elegidos se descarta y se saca otra. Así el resultado sigue siendo aleatorio por igual.
La estimación de fortaleza es la longitud multiplicada por el log2 del tamaño de la reserva. Para 20 caracteres de 90, eso es 20 x 6,49, unos 129,84 bits. Es un límite superior. Exigir todos los tipos reduce un poco el número de contraseñas posibles, aunque en una cantidad pequeña para longitudes normales.
Privacidad y seguridad
- Nada sale de tu dispositivo. No hay ningún paso por un servidor. La contraseña solo existe en la página hasta que la copias.
- No se guarda nada. Recarga la página y las contraseñas desaparecen. Esta herramienta no tiene historial, a propósito.
- Vacía el portapapeles después de pegar en una computadora compartida.
- Usa un gestor de contraseñas. Una contraseña aleatoria solo sirve si puedes guardarla de forma segura. Los gestores pueden rellenarla por ti, así que la longitud no te cuesta nada.
- Activa la verificación en dos pasos siempre que puedas. Una contraseña fuerte no sirve de nada si te la roban con una página de inicio de sesión falsa.
Los bits que se muestran dan por hecho que la contraseña se generó al azar, como aquí. No valen para una contraseña que te inventaste y escribiste en otro comprobador.
Otras formas de generar una contraseña
En una computadora con Python, esto muestra cada vez una contraseña nueva de 20 caracteres con letras y dígitos:
python -c "import secrets, string; a = string.ascii_letters + string.digits; print(''.join(secrets.choice(a) for _ in range(20)))"
Con OpenSSL instalado, openssl rand -base64 18 muestra 24 caracteres aleatorios. La mayoría de los gestores de contraseñas también tienen un generador integrado.
Evita la función RAND de Excel (ALEATORIO en español) y Math.random de JavaScript para crear contraseñas. No están pensadas para ser impredecibles.
Herramientas relacionadas
Para identificadores únicos en lugar de secretos, usa el generador de UUID. Para números aleatorios en un rango, usa el generador de números aleatorios. Para crear una suma de comprobación de un archivo, usa el generador de hash MD5.