Generador de contraseñas
Genera contraseñas aleatorias fuertes con conjuntos de caracteres a elegir. El generador muestra la entropía en bits y funciona por completo en el navegador.
Todos los cálculos se ejecutan en el navegador. Nada de lo que introduce se envía a un servidor.
Resultado
—
—
Copiar
Contraseñas masivas
El Generador de contraseñas produce contraseñas aleatorias a partir de los conjuntos de caracteres que elijas e informa de la fortaleza de cada una en bits de entropía, no con una etiqueta vaga. La longitud va de 4 a 128 caracteres, con exclusiones opcionales de caracteres ambiguos y corchetes, y un modo frase de contraseña que construye contraseñas memorables de varias palabras.
Cada contraseña se genera en el navegador con el generador criptográfico de números aleatorios del sistema operativo. Nada se transmite, registra ni almacena.
Generar una contraseña aleatoria
Define una longitud, elige de qué conjuntos de caracteres extraer y el generador devuelve una contraseña al instante. Regenera las veces que quieras; cada pulsación produce una nueva extracción del mismo conjunto y ninguna queda registrada en ningún sitio.
Dieciséis caracteres tomados de los cuatro conjuntos es un valor razonable por defecto para cualquier cosa que proteja dinero o identidad. Doce basta donde un servicio limita los intentos de inicio de sesión. Por debajo de doce, una contraseña solo es tan segura como las defensas del sitio, y eso no se puede comprobar.
La longitud importa más que la complejidad. Añadir un carácter a un conjunto de 94 multiplica el espacio de búsqueda por 94. Cambiar una minúscula por un símbolo en una contraseña de longitud fija hace mucho menos. Si un sitio limita la contraseña a 16 caracteres, usa los 16.
Elegir qué conjuntos de caracteres incluir
Hay cuatro conjuntos disponibles, y cada uno que actives amplía el conjunto del que se extrae cada carácter.
| Conjunto | Caracteres | Cantidad | |
|---|---|---|---|
| Minúsculas | a-z | 26 | |
| Mayúsculas | A-Z | 26 | |
| Dígitos | 0-9 | 10 | |
| Símbolos | `!"#$%&'()*+,-./:;<=>?@[\]^_{\ | }~`` | 32 |
Los cuatro juntos dan un conjunto de 94 caracteres. Tres modificadores lo reducen:
Excluir caracteres ambiguos elimina i I l 1 L |, o O 0 y las comillas y signos de puntuación parecidos. Conviene usarlo para una contraseña que leerás en pantalla y escribirás en otro dispositivo, o dictarás por teléfono. Cuesta poca entropía y evita frustración real.
Excluir corchetes elimina < > ( ) [ ] { }. Algunos sistemas antiguos los manejan mal en formularios de inicio de sesión, y algunos entornos de shell los tratan de forma especial cuando la contraseña se usa en un script.
Sin caracteres repetidos garantiza que cada carácter aparezca una sola vez. Suena más fuerte y es ligeramente más débil: reduce el conjunto con cada carácter colocado y limita la longitud al tamaño del conjunto. Úsalo solo cuando una política lo exija.
También puedes elegir entre extraer cada carácter del conjunto combinado o garantizar al menos uno de cada conjunto seleccionado. La segunda opción existe porque muchas políticas corporativas lo exigen. Forzar uno de cada reduce ligeramente la entropía, porque elimina algunas combinaciones válidas de las salidas posibles.
Medir la fortaleza de la contraseña en bits de entropía
La entropía mide cuántas conjeturas necesita un atacante, expresada como potencia de dos. Es la única forma significativa de comparar contraseñas, porque un medidor que dice «fuerte» no indica contra qué lo es.
Entropy (bits) = length × log₂(pool size)
Combinations = pool size ^ length
Los bits son aditivos y cada uno duplica el trabajo. Una contraseña de 60 bits tarda el doble en descifrarse que una de 59, y 1.024 veces más que una de 50. Por eso pequeños aumentos de longitud producen grandes aumentos de seguridad.
Umbrales aproximados y por qué importa cada uno:
- Menos de 40 bits: descifrable en minutos por cualquiera con una GPU de consumo. No basta para nada que importe.
- 50 a 60 bits: resiste un ataque casual, cae ante un ataque offline decidido. Vale para un foro.
- 70 a 80 bits: segura frente a ataques offline realistas hoy. Objetivo sensato para la mayoría de cuentas.
- Más de 100 bits: más allá de lo que cualquier hardware previsible fuerza bruta. Adecuada para contraseñas maestras de gestores y claves de cifrado.
Calcular la entropía de una contraseña de 16 caracteres
Una contraseña de 16 caracteres tomada de los cuatro conjuntos lleva unos 105 bits de entropía. Aquí está la cuenta. 1. Suma el conjunto. 26 minúsculas + 26 mayúsculas + 10 dígitos + 32 símbolos = 94 caracteres 2. Halla los bits por carácter. log₂(94) = 6.55 bits
3. Multiplica por la longitud. 16 × 6.55 = 104.9 bits
4. Exprésalo como recuento. 94¹⁶ ≈ 3.7 × 10³¹ contraseñas posibles
Acórtala a 12 caracteres y la entropía baja a 78.6 bits, con 4.7 × 10²³ combinaciones. Sigue siendo fuerte, y unas 68 mil millones de veces más fácil de atacar que la versión de 16 caracteres. Quita el conjunto de símbolos de la contraseña de 16 y el conjunto cae a 62, dando 95.3 bits, una pérdida menor que acortar cuatro caracteres.
Esa comparación merece atención. Quitar cuatro caracteres cuesta más entropía que quitar un conjunto de caracteres entero. La longitud es la palanca.
Entender cuánto tarda en descifrarse una contraseña
Cualquier cifra de «tiempo para descifrar» carece de sentido sin indicar el ataque. La misma contraseña cae en segundos o supera la vida del sol según cómo conjeture el atacante, así que el generador informa de dos escenarios y nombra ambos.
Expected guesses = 2^(entropy − 1)
Time = expected guesses / guesses per second
Ataque online, unas 10³ conjeturas por segundo. El atacante envía conjeturas a un formulario de inicio de sesión activo. Limitación de velocidad, bloqueos y latencia de red acotan la velocidad. La mayoría de ataques reales contra una sola cuenta se parecen a esto, y casi cualquier contraseña generada lo sobrevive indefinidamente.
Ataque offline, unas 10¹² conjeturas por segundo. El servicio ha sido vulnerado y el atacante tiene los hashes de contraseña. Con un clúster GPU y un hash rápido como MD5 o SHA-1 sin sal, las conjeturas corren a un billón por segundo o más. Es el escenario que importa, porque es el que no puedes influir.
A 10¹² conjeturas por segundo, una contraseña de 78 bits tarda unos 4.800 años y una de 105 bits tarda más que la edad del universo por muchos órdenes de magnitud. Una de 40 bits tarda menos de un segundo.
Un matiz que ocultan las cifras: asumen que el atacante conjetura a ciegas. Una contraseña hecha con palabras, fechas o patrones de teclado cae mucho antes de lo que sugiere el recuento de caracteres, porque los atacantes prueban primero candidatos probables. Por eso las contraseñas aquí se extraen al azar y no se montan con nada memorable.
Usar una frase de contraseña en lugar de una cadena aleatoria
Una frase de contraseña son varias palabras aleatorias unidas. Alcanza entropía similar a una cadena aleatoria y sigue siendo posible recordarla y escribirla, por eso encaja con las pocas contraseñas que no puedes guardar en un gestor.
Entropy = number of words × log₂(word list size)
Con una lista de 7.776 palabras, cada palabra aporta log₂(7776) = 12.9 bits.
| Palabras | Entropía | Comparable a |
|---|---|---|
| 4 | 51.7 bits | Una contraseña aleatoria de 8 caracteres |
| 5 | 64.6 bits | Una contraseña aleatoria de 10 caracteres |
| 6 | 77.5 bits | Una contraseña aleatoria de 12 caracteres |
| 7 | 90.4 bits | Una contraseña aleatoria de 14 caracteres |
Seis palabras dan 77.5 bits, sólidas frente a ataque offline, y la mayoría puede memorizarlas en unas repeticiones. Compara escribir correct-horse-battery-staple-mountain-glass con K7#mQ2vX@pL9. Ambas son fuertes; solo una se puede recordar y escribir con un mando de televisor.
Dos reglas hacen segura una frase de contraseña. Las palabras deben elegirse al azar por una máquina, no por ti; la elección humana se agrupa mucho en vocabulario común y asociación temática. Y no deben formar una frase que exista en algún sitio, porque una línea citada de una canción tiene casi nula entropía por muchas palabras que tenga.
Usa una frase de contraseña para la contraseña maestra del gestor, el inicio de sesión del dispositivo y la cuenta de correo. Usa cadenas aleatorias, guardadas en el gestor, para todo lo demás.
Entender por qué este generador usa crypto.getRandomValues
El Generador de contraseñas extrae cada carácter de crypto.getRandomValues(), el generador criptográfico de números aleatorios del navegador, alimentado por el conjunto de entropía del sistema operativo. No usa Math.random(), y esa distinción es la diferencia entre una contraseña y la apariencia de una.
Math.random() es un generador pseudorandom rápido pensado para simulaciones y juegos. Su estado interno es pequeño, los navegadores documentan que no sirve para seguridad, y su salida es predecible para quien observe bastante o conozca la implementación y la fecha aproximada de generación. Un generador de contraseñas basado en Math.random() produce contraseñas reconstruibles en lugar de adivinables, y el recuento de caracteres no protege en absoluto contra eso.
Hay un segundo requisito más sutil. Mapear bytes aleatorios sobre un conjunto de caracteres con un resto simple introduce sesgo: 2³² no divide exactamente entre 94, así que los primeros caracteres del conjunto salen ligeramente más a menudo. El sesgo es invisible en una contraseña individual y medible en suficientes; reduce la entropía real por debajo de la cifra calculada. Este generador usa muestreo por rechazo: un valor que cae en la cola desigual se descarta y se vuelve a extraer, así la distribución es genuinamente uniforme.
No se muestra semilla para contraseñas, y es deliberado. Otros generadores aleatorios de este sitio muestran su semilla para reproducir y verificar un resultado. Una contraseña reproducible es una contraseña comprometida, así que aquí no se almacena, muestra ni deriva ninguna semilla.
Todo ocurre en el navegador. Ninguna contraseña se envía a un servidor, se escribe en almacenamiento ni entra en ningún evento de analítica.
Almacenar contraseñas de forma segura
Una contraseña generada solo ayuda si se usa una vez y se guarda donde puedas recuperarla. La reutilización es el fallo que deshace todo lo demás: cuando un servicio es vulnerado, los atacantes prueban las credenciales recuperadas en todas partes, y una contraseña de 105 bits reutilizada en diez sitios no protege ninguno cuando cae el más débil.
Cuatro prácticas, por orden de importancia:
Usa un gestor de contraseñas. Elimina la necesidad de recordar o volver a escribir, y con ello el incentivo de reutilizar o simplificar. Protégelo con una frase de contraseña larga y guarda un registro offline de esa frase y la clave de recuperación en un lugar físicamente seguro.
Activa la autenticación en dos factores donde se ofrezca, y prefiere una app de autenticación o una llave de hardware frente a SMS. Los códigos SMS pueden interceptarse con SIM swapping. Un segundo factor mantiene la cuenta segura aunque conozcan la contraseña.
Cambia una contraseña cuando haya motivo. La rotación programada cada noventa días ya no la recomienda NIST, porque empuja a variaciones predecibles. Cambia de inmediato ante cualquier señal de filtración, cualquier sospecha y cualquier contraseña que sepas que reutilizaste.
Comprueba tus direcciones frente a filtraciones conocidas. Servicios que buscan tu correo en datos públicos de filtraciones indican qué cuentas necesitan atención ahora, más útil que cambiar todo por calendario.
Preguntas frecuentes
¿Qué longitud debe tener una contraseña?
Dieciséis caracteres es un buen valor por defecto para cuentas que protegen dinero, identidad o comunicaciones, con unos 105 bits de entropía de un conjunto completo. Doce caracteres, unos 79 bits, basta para cuentas de menor valor. Donde el sitio permita más, usa más; cada carácter adicional multiplica el espacio de búsqueda por el tamaño del conjunto.
¿Qué hace fuerte a una contraseña?
Aleatoriedad y longitud, en ese orden. Una contraseña fuerte se extrae de forma impredecible de un conjunto grande y es lo bastante larga para que el total de posibilidades sea impracticable de buscar. Sustituciones como p@ssw0rd aportan casi nada, porque los atacantes prueban esos patrones primero. La entropía en bits mide la fortaleza real; una etiqueta «fuerte» no.
¿Son seguras las contraseñas generadas aquí?
Sí. Cada contraseña se genera en el navegador con crypto.getRandomValues(), el generador criptográfico del sistema operativo, usando muestreo por rechazo para una distribución uniforme de caracteres. Ninguna contraseña se transmite, registra ni almacena, y aquí no se ejecuta ningún script de terceros con acceso a la página.
¿Se envía mi contraseña a algún sitio?
No. La generación ocurre por completo en el navegador y ningún valor generado lo abandona. Nada se escribe en almacenamiento del navegador, entra en un enlace para compartir ni en un evento de analítica. Cerrar la pestaña descarta la contraseña de forma permanente; cópiala al gestor antes de salir.
¿Qué significa entropía en bits?
La entropía en bits expresa cuántas conjeturas necesita un atacante, como potencia de dos. Una contraseña de 60 bits requiere unas 2⁵⁹ conjeturas esperadas. Cada bit adicional duplica la dificultad, por eso la cifra crece rápido con la longitud: 16 caracteres de un conjunto de 94 dan 104.9 bits, o unas 3.7 × 10³¹ posibilidades.
¿Debo incluir símbolos en mi contraseña?
Inclúyelos donde el sitio los acepte, pero no elijas símbolos en lugar de longitud. Añadir el conjunto de 32 símbolos a una contraseña de 16 caracteres sube la entropía de 95.3 a 104.9 bits. Añadir cuatro caracteres más a una contraseña sin símbolos la sube de 95.3 a 119.1. La longitud es la palanca más fuerte.
¿Qué es una frase de contraseña y es tan fuerte como una contraseña aleatoria?
Una frase de contraseña son varias palabras elegidas al azar unidas. Seis palabras de una lista de 7.776 dan 77.5 bits, comparables a una contraseña aleatoria de 12 caracteres, y son mucho más fáciles de recordar y escribir. Debe elegirla una máquina y no formar una frase existente, porque una cita reconocible lleva casi nula entropía.
¿Puedo reutilizar una contraseña fuerte en varias cuentas?
No. La reutilización es el hábito de contraseñas más dañino, y la fortaleza no protege contra ella. Cuando cualquier servicio es vulnerado, los atacantes prueban las credenciales recuperadas en los sitios principales. Cada cuenta necesita su propia contraseña única, que es el problema que resuelve un gestor.
¿Con qué frecuencia debo cambiar mi contraseña?
Cámbiala cuando haya motivo: filtración conocida o sospechada, contraseña compartida o reutilizada, o un dispositivo que ya no controlas. NIST retiró la guía de rotación programada porque los cambios forzados periódicos empujan a variaciones predecibles como añadir un número, lo que debilita la seguridad en lugar de mejorarla.
¿Qué es el sesgo de módulo y por qué importa?
El sesgo de módulo es la inclinación al mapear bytes aleatorios sobre un conjunto de caracteres con un resto simple, porque el rango de bytes rara vez divide exactamente el tamaño del conjunto. Algunos caracteres aparecen ligeramente más a menudo, reduciendo la entropía real por debajo de la cifra calculada. Este generador descarta y vuelve a extraer valores en la cola desigual para una distribución genuinamente uniforme.
Resumen
El Generador de contraseñas extrae contraseñas de un conjunto de hasta 94 caracteres con el generador criptográfico del navegador, con muestreo por rechazo para mantener la distribución uniforme, e informa de la fortaleza como entropía en bits en lugar de una etiqueta.
La longitud es el factor más fuerte: una contraseña de 16 caracteres del conjunto completo lleva unos 105 bits, y acortarla cuatro caracteres cuesta más entropía que quitar el conjunto de símbolos entero. Las cifras de tiempo de descifrado se dan para ataque online a 10³ conjeturas por segundo y offline a 10¹², porque una sola cifra sin calificar no significa nada. El modo frase de contraseña alcanza fortaleza comparable y sigue siendo memorable, adecuado para las pocas contraseñas que no pueden vivir en un gestor. Cada contraseña se genera localmente y ninguna se transmite, registra ni almacena.
Notas de implementación
- Solo
crypto.getRandomValues().Math.random()en este archivo es una vulnerabilidad en producción. Se requiere muestreo por rechazo; probar uniformidad con ajuste chi-cuadrado sobre 10M extracciones en un conjunto de 94 elementos. - Las cifras de entropía son fixtures de prueba: 16 chars / 94 pool = 104.9 bits; 12 / 94 = 78.6; 16 / 62 = 95.3; 20 / 62 = 119.1; 6 words / 7776 = 77.5.
- No se muestra, almacena ni deriva semilla en esta página. El panel de recibo indica solo el CSPRNG y la garantía de no transmisión.
- La línea de no transmisión del lead es una promesa. Ningún evento de analítica puede llevar un valor generado; ningún script de terceros con acceso al DOM puede cargarse aquí.
- Sin historial de contraseñas, sin persistencia, sin localStorage.
- La referencia de rotación NIST es SP 800-63B. Citarla si se añade una cita; no inventar número de versión.
- Recuento de palabras 2.090.