Generador de contraseñas seguras
Las contraseñas se generan en tu dispositivo con crypto.getRandomValues(), la misma fuente criptográficamente segura que los navegadores usan para las claves de cifrado. Mueve el control de longitud y observa cómo cambia el tiempo de descifrado: el salto de 12 a 16 caracteres no es el que espera la mayoría.
Funciona por completo en esta pestaña. Nada se envía, se registra ni se guarda; ni siquiera en tu navegador.
Elige una longitud y un conjunto de caracteres para empezar.
Qué significa de verdad el tiempo de descifrado
La cifra de arriba es el tiempo promedio que cuesta encontrar tu contraseña probando todas las posibilidades, al ritmo de intentos del atacante que hayas elegido. Promedio, no peor caso: en promedio una contraseña elegida al azar aparece a la mitad del espacio de claves, así que el número es la mitad del total.
Vale la pena ir cambiando entre los cinco atacantes, porque esa diferencia es justo el punto. La misma contraseña puede caer "al instante" frente a una base de datos filtrada con hash MD5 y aguantar "más que el universo" frente a un formulario de inicio de sesión que bloquea a los cinco intentos. La contraseña no cambió; cambió el atacante. Por eso importa tanto que el sitio guarde bien tu contraseña como la contraseña misma, y por eso no tienes ningún control sobre lo que más importa.
De dónde salen estos números
Los ritmos de intentos están redondeados a un orden de magnitud limpio, porque cualquier cosa más precisa sería precisión falsa. Cuando un rango era defendible se tomó el extremo favorable al atacante: exagerar la fuerza de tu contraseña es el lado peligroso del error.
- Inicio de sesión: 0,1 intentos/s. Es un límite de política, no de hardware. OWASP ASVS 4.0 pide no más de 100 intentos fallidos por hora en una cuenta, y NIST SP 800-63B corta a los 100 fallos consecutivos antes de desactivar el autenticador. Aquí el ritmo se fija algo por encima para contemplar los límites que se aplican por IP y no por cuenta, que un atacante con un grupo de proxies esquiva sin esfuerzo.
- API descuidada: 1.000 intentos/s. Triangulado a partir de telemetría publicada de credential stuffing y de lo que aguanta físicamente un endpoint de inicio de sesión sin protección antes de caerse. Como referencia, la biblioteca
zxcvbn, de uso muy extendido, todavía supone 10/s en este caso, una cifra de 2012 demasiado generosa hoy con quien se defiende. - Filtración con buen hash: 100.000 intentos/s. De pruebas de rendimiento medidas con hashcat para bcrypt en GPU actuales, escaladas a un equipo realista con varias GPU. Ojo: esto es bcrypt con un factor de trabajo típico; Argon2id bien ajustado es todavía más lento.
- Filtración con mal hash: 1 billón de intentos/s. De pruebas de rendimiento medidas con hashcat: una sola RTX 4090 hace unos 164.000 millones de hashes MD5 por segundo, y ocho de ellas alquiladas por hora te llevan a un billón. Es el escenario que la mayoría de los indicadores de "tiempo para descifrar" dan por supuesto sin decirlo, y el que de verdad ocurre cuando se filtra una base de datos.
- Estado-nación: 1 trillón de intentos/s. La única cifra extrapolada, porque no se ha demostrado públicamente ninguna máquina así. Está anclada a la red Bitcoin, que sostiene unos 880 exahashes por segundo de silicio SHA-256 hecho a medida, así que este escenario es cerca de una milésima de lo que la humanidad ya construyó para otra cosa.
Los cinco comparten un supuesto: que el atacante prueba de forma uniforme y al azar y no sabe nada de ti. Ese es el modelo correcto para una contraseña generada por esta herramienta. Es demasiado benévolo con una contraseña que inventaste tú; mira las advertencias de "Probar tu propia contraseña" más abajo.
La longitud le gana a la complejidad, y no por poco
Arrastra el control de 12 a 16 y mira qué pasa. Cuatro caracteres extra en minúsculas multiplican el espacio de búsqueda por casi medio millón. Ahora desmarca los símbolos y comprueba lo poco que pierdes en comparación.
Esto es lo más útil que enseña el indicador. Añadir un símbolo a una contraseña de 20 caracteres sube su entropía alrededor de un 15%. Añadir cuatro caracteres más la sube alrededor de un 20%, y encima puedes escribirla. Si un sitio rechaza los símbolos, encógete de hombros y haz la contraseña más larga.
De dónde sale la aleatoriedad
La generación usa crypto.getRandomValues(), el generador de números aleatorios criptográficamente seguro del navegador, no Math.random(). Esa distinción importa más de lo que parece: Math.random() está hecho para ser rápido y estar bien distribuido, no para ser impredecible, y en principio un atacante que observe suficiente salida puede reconstruir la que viene. No tiene lugar en nada relacionado con la seguridad.
Hay un detalle más sutil. Convertir un byte aleatorio en un carácter con un módulo simple sesga el resultado hacia el principio del alfabeto, porque 256 rara vez se divide de forma exacta entre el tamaño del conjunto. Este generador descarta los bytes que caerían en el resto desigual y vuelve a sortear, así que cada carácter es de verdad igual de probable.
Probar tu propia contraseña
La pestaña "Probar la tuya" estima la fuerza en lugar de calcularla, y la diferencia importa. Para una contraseña generada por esta herramienta la entropía es exacta: sabemos que se sacó de forma uniforme y al azar, así que la cuenta simplemente es correcta. Para una contraseña que inventó una persona hay que adivinar cómo la describiría un atacante.
Por eso el estimador busca las descripciones baratas: palabras del diccionario, nombres, secuencias de teclado como qwerty, bloques repetidos, años y los cambios previsibles de letra por número (p@ssw0rd no se diferencia en nada de password). Después le pone precio a la descripción completa más barata de tu contraseña en lugar de fingir que cada carácter fue aleatorio. Es una versión reducida de cómo funciona la biblioteca zxcvbn.
Dos advertencias honestas. Las listas de palabras de aquí son pequeñas, así que el diccionario de un atacante real es mucho mayor que el nuestro y la estimación peca de optimista: trata un buen resultado como un mínimo, no como una garantía. Y el estimador no puede saber que tu contraseña es el nombre de tu perro y el año de tu boda, que es justo lo primero que probaría alguien que va a por ti.
Lo que escribas se queda en esta pestaña. No hay ninguna petición de red, no se escribe nada en el almacenamiento y al cerrar la página se descarta. Puedes comprobarlo en la pestaña Red de tu navegador, o desconectándote de internet y viendo que sigue funcionando.
De qué no te protege nada de esto
La fuerza bruta no es como pierde la gente sus cuentas en realidad. La vía habitual es el credential stuffing: un sitio en el que te registraste y ya olvidaste sufre una brecha, y el atacante prueba ese mismo correo y esa misma contraseña en tu banco. Ahí la fuerza de la contraseña da igual; la vulnerabilidad es reutilizarla. Lo que defiende es una contraseña única por sitio, que en la práctica significa un gestor de contraseñas, porque nadie recuerda cuarenta de estas.
La segunda vía habitual es el phishing, donde entregas la contraseña tú mismo. Una cadena aleatoria de 40 caracteres escrita en una página de inicio de sesión falsa y convincente está exactamente igual de comprometida que hunter2. Lo que limita el daño es la autenticación en dos pasos, y activarla hace más por tu seguridad que cualquier cantidad de entropía extra.
Preguntas frecuentes
¿Cuánto tardarían en descifrar mi contraseña?
Cambia a la pestaña "Probar la tuya" y escríbela: la estimación aparece al momento y no se transmite nada. Después prueba los distintos escenarios de atacante, porque la respuesta cambia por un factor de un billón según cómo la haya guardado el sitio que usas.
¿Por qué el tiempo de descifrado cambia tanto entre atacantes?
Porque los ritmos de intento se diferencian en unos dieciséis órdenes de magnitud. Un formulario de inicio de sesión con límite permite unos 100 intentos por hora; un equipo de GPU contra una base de datos filtrada con mal hash hace 100.000 millones por segundo. La misma contraseña, resultados radicalmente distintos.
¿Son exactos estos tiempos de descifrado?
Son estimaciones de orden de magnitud basadas en pruebas de rendimiento de GPU publicadas, y están redondeadas a propósito porque aquí la precisión falsa sería engañosa. Además suponen un ataque de fuerza bruta pura: un atacante real prueba primero las contraseñas probables, así que una contraseña elegida por una persona cae mucho antes de lo que sugiere el número.
¿Se envía mi contraseña a algún lado cuando la pruebo?
No. Generar y probar ocurren por completo en tu navegador, sin ninguna petición de red y sin escribir nada en el almacenamiento. Puedes confirmarlo en las herramientas de desarrollo de tu navegador, o desconectándote de internet después de que cargue la página.
¿De qué largo debería ser mi contraseña?
Doce caracteres son el mínimo para una cuenta de poca importancia; de dieciséis a veinte es un buen valor por defecto. Para tu correo, tu banco y tu gestor de contraseñas, ve más largo: de todos modos no vas a escribirlas de memoria. Mueve el control y mira el número para ver por qué la longitud es la palanca que importa.
¿Qué significan los "bits de entropía"?
Son los intentos que necesita un atacante, expresados como potencia de dos. Cada bit extra duplica ese número. Por debajo de unos 40 bits una contraseña cae ante un ataque offline decidido; por encima de unos 80 bits la fuerza bruta deja de ser la amenaza realista y toman el relevo el phishing o la reutilización.
¿Debería usar una frase de contraseña en su lugar?
Cuatro o cinco palabras elegidas al azar son una alternativa legítima y mucho más fácil de escribir en un teléfono o en el control remoto del televisor. La trampa es que las palabras tienen que salir al azar de una lista grande: las que eliges tú se agrupan de forma predecible y el estimador de aquí se lo va a descontar.
Última actualización 19 de septiembre de 2026