Generador de contraseñas y secretos
Genera contraseñas aleatorias, frases de contraseña y tokens de API, y muestra en bits la entropía de cada opción.
Entropía
Fija aquí tus herramientas. Se guardan en este navegador.
Fija una herramienta y su pegatina aparece aquí.
Genera contraseñas aleatorias, frases de contraseña y tokens de API, y muestra en bits la entropía de cada opción.
Entropía
Cada carácter, palabra y byte sale de crypto.getRandomValues, el generador de números aleatorios criptográfico del navegador. Math.random no se usa en ninguna parte, porque no se diseñó para secretos y su salida se puede predecir.
Elegir de un conjunto requiere cuidado. El atajo habitual de tomar un byte aleatorio módulo el tamaño del conjunto hace que algunos caracteres sean un poco más probables que otros siempre que ese tamaño no divida exactamente a 256. Esta herramienta usa en su lugar muestreo por rechazo: toma solo los bits aleatorios que el conjunto necesita, y un valor que cae fuera del conjunto se descarta y se vuelve a sortear. La regla de al menos un carácter de cada tipo se aplica de la misma forma. Una contraseña completa a la que le falta un tipo se descarta, así que todas las contraseñas que cumplen la regla son igual de probables.
Los secretos solo existen en esta página. No se envían a ninguna parte ni se guardan en el navegador, y desaparecen cuando vuelves a generar o cierras la pestaña.
La entropía en bits es el logaritmo en base 2 del número de resultados igual de probables, así que cada bit más duplica el trabajo de adivinar. La cifra se calcula a partir de las opciones activas y se redondea hacia abajo al bit entero. Con los cuatro tipos de carácter, el conjunto tiene 87 caracteres, y una longitud de 20 da 128 bits. Evitar los caracteres parecidos reduce el conjunto a 82, y la misma longitud da 126. La lista de la frase de contraseña tiene 1024 palabras, exactamente 10 bits por palabra: cinco palabras son 50 bits y ocho son 80. Un token son 8 bits por byte, así que 32 bytes son 256 bits.
La cifra describe el generador, no el aspecto del resultado. Es válida porque la elección fue aleatoria. Una contraseña inventada por una persona suele tener mucha menos entropía de la que sugiere su longitud. Una contraseña fuerte que se reutiliza en dos sitios queda expuesta en ambos en cuanto uno de ellos la filtra.
Usa caracteres aleatorios para todo lo que un gestor de contraseñas vaya a guardar y escribir por ti. Usa una frase de contraseña para los pocos secretos que tengas que recordar o escribir a mano, como la contraseña del propio gestor o la de un disco cifrado, y añade palabras en lugar de trucos para hacerla más fuerte. Usa un token para los secretos que solo lee el software: claves de API, secretos de sesión, claves de firma para HMAC o JWT. Hex usa solo dígitos y las letras de la a a la f. Base64url lleva los mismos bytes en menos caracteres, y ninguno de ellos necesita escaparse en una URL.
La opción de caracteres parecidos ayuda cuando una contraseña se lee en voz alta o se copia de un papel. El conjunto de símbolos deja fuera las comillas, la barra invertida, la comilla invertida, los signos de menor y mayor y el espacio, que suelen romper comandos de shell y archivos de configuración. Símbolos como $, & y ! se mantienen, así que pon la contraseña entre comillas simples cuando la pases en una línea de comandos.
Esta página genera la contraseña en tu dispositivo con el generador de números aleatorios criptográfico del navegador y no envía ni guarda el resultado. Lo que no puede garantizar es el propio dispositivo: un malware o una extensión del navegador maliciosa puede leer lo que muestra una página. Si usas un gestor de contraseñas, su generador integrado guarda la contraseña nueva en el mismo paso.
Cuenta bits, no caracteres. Con los cuatro tipos de carácter, 12 caracteres dan 76 bits y 16 dan 102, lo que es fuerte para la contraseña de una cuenta. Para una clave o un secreto de API, apunta a 128 bits o más: 20 caracteres, o un token de 16 bytes o más.
Depende solo de los bits. Cinco palabras de esta lista son 50 bits, más o menos lo mismo que 8 caracteres totalmente aleatorios, y diez palabras son 100 bits, cerca de 16 caracteres aleatorios. Una frase de contraseña es más larga para la misma fuerza, pero mucho más fácil de escribir y recordar.
Usa el modo token con 32 bytes, que son 256 bits, y nunca menos de 16 bytes. Guarda el valor en un gestor de secretos o en una variable de entorno, no en el código fuente, y cámbialo si alguna vez aparece en un log, un chat o un repositorio.
Se abre en su propia ventana y sigue funcionando sin conexión.
Para instalarla, toca el botón Compartir y luego «Añadir a pantalla de inicio».