¿Son seguros los generadores de contraseñas online?
Desconfiar es razonable: le pides a una página web que invente el secreto que protege tus cuentas. ¿Podría guardarlo, enviarlo a un servidor o dejarlo en algún registro que no ves? La respuesta corta es que un generador de contraseñas online es seguro cuando crea la contraseña en tu propio dispositivo, con el generador criptográfico del navegador, y no la envía a ninguna parte. Lo que no basta es que la página lo prometa. En esta guía verás en qué se diferencia un generador que trabaja en tu navegador de uno que depende de un servidor, qué clase de azar debe usar y cómo comprobarlo tú mismo en un par de minutos, sin conocimientos técnicos avanzados, antes de confiarle una sola contraseña.
Dónde se crea la contraseña: en tu navegador o en un servidor
Todos los generadores de contraseñas que encuentras en internet siguen uno de estos dos modelos, y de esa diferencia depende casi todo.
Generación en el navegador. El servidor te entrega la página una sola vez (el HTML, los estilos y el JavaScript) y, a partir de ahí, la contraseña se calcula en tu dispositivo con la interfaz criptográfica que incorporan todos los navegadores actuales, crypto.getRandomValues(). La contraseña nace en la memoria de tu navegador y no viaja por la red: el servidor no puede verla porque no participa en su creación.
Generación en un servidor. Al pulsar el botón, la página pide la contraseña a un servidor remoto, que la calcula y la devuelve en la respuesta. Eso significa que la contraseña existe en una máquina ajena en el momento de crearse y que, al menos en teoría, podría quedar en un registro, en una caché o al alcance de quien controle ese servidor. El cifrado HTTPS protege el trayecto, pero no impide que el servidor conozca lo que él mismo ha generado.
El generador de contraseñas de este sitio pertenece al primer grupo: la contraseña se crea en tu navegador y no se envía a ningún servidor. Más abajo tienes los detalles y la forma de comprobarlo sin fiarte de nuestra palabra.
El azar que importa: generador criptográfico frente a Math.random()
Generar en el navegador es necesario, pero no suficiente: también importa de dónde sale el azar. JavaScript ofrece dos fuentes. Math.random() está pensada para juegos, animaciones y simulaciones; es rápida, pero no se diseñó para la seguridad, y en los navegadores más extendidos basta con observar unas pocas salidas para reconstruir su estado interno y predecir las siguientes. Una contraseña creada así puede parecer aleatoria y no serlo para quien logre reconstruir ese estado.
crypto.getRandomValues(), en cambio, es un generador de números aleatorios criptográficamente seguro (CSPRNG, por sus siglas en inglés). Toma su entropía del sistema operativo, la misma fuente de la que depende el cifrado de tus conexiones, y está diseñado para que nadie pueda predecir el siguiente valor aunque haya visto todos los anteriores. Es lo mínimo que debes exigir a cualquier generador de contraseñas.
Queda un detalle que muchos generadores pasan por alto: el sesgo del módulo. El generador entrega números de 32 bits, con unos 4300 millones de valores posibles, y hay que convertir cada uno en una posición entre los 88 caracteres disponibles (26 minúsculas, 26 mayúsculas, 10 dígitos y 26 símbolos). Si se toma sin más el resto de la división entre 88, como esa cifra no es múltiplo exacto de 88, algunos caracteres salen con una frecuencia ligeramente mayor que otros. El generador de este sitio descarta los pocos valores que sobran por encima del último múltiplo de 88 y vuelve a sortear, lo que se conoce como muestreo por rechazo, de modo que, en cada sorteo, todos los caracteres tienen exactamente la misma probabilidad.
Cómo comprobar tú mismo si un generador es seguro
No tienes por qué creer a ningún generador, tampoco a este. Estas cuatro pruebas funcionan en cualquier navegador de escritorio y no requieren instalar nada.
1. Mira la pestaña Red mientras generas
Abre las herramientas para desarrolladores (F12, o clic derecho y “Inspeccionar”), entra en la pestaña Red y pulsa varias veces el botón de generar. En un generador que trabaja en el navegador no aparece ninguna petición que lleve la contraseña: la página ya está cargada y no necesita preguntar nada a nadie. Si cada clic dispara una petición a una dirección del tipo /api/generate y la contraseña viene en la respuesta, la crea un servidor. En este sitio también pueden aparecer peticiones de la analítica a /stats/, en este mismo dominio: puedes abrirlas, revisar su contenido y comprobar que la contraseña no está.
2. Desconéctate y vuelve a generar
Carga la página, desactiva el Wi-Fi o activa el modo avión y, sin recargar, pulsa otra vez el botón. Un generador que funciona en el navegador sigue creando contraseñas sin conexión, porque no la necesita. Uno que depende de un servidor fallará o mostrará un error. Es la prueba más sencilla de todas y no exige abrir ninguna herramienta.
3. Busca la fuente del azar en el código
El JavaScript que se ejecuta en tu navegador está a tu alcance. En la pestaña Fuentes de las herramientas para desarrolladores, la búsqueda en todos los archivos encuentra getRandomValues si el generador lo usa. Si en la lógica de generación aparece Math.random(), o una llamada a fetch() justo al pulsar el botón, desconfía. El código suele llegar minificado, compactado en unas pocas líneas muy largas, y cuesta leerlo, así que esta prueba completa las dos anteriores, no las sustituye.
4. Revisa con qué dominios se comunica la página
En la misma pestaña Red, recarga la página y fíjate en los dominios de las peticiones. Las que van a terceros, como google-analytics.com, clarity.ms o hotjar.com, corresponden a herramientas de analítica o de grabación de sesiones de otras empresas. No significan por sí mismas que tu contraseña corra peligro, pero suman más código ajeno ejecutándose en la página. Si quieres ir un paso más allá, abre la primera petición, la del documento, y busca entre las cabeceras de la respuesta la Content-Security-Policy: indica con qué dominios puede conectarse la página. En este sitio incluye connect-src 'self', que obliga al navegador a bloquear las peticiones que el código de la página intente enviar a cualquier otro dominio.
Analítica, extensiones y portapapeles: los otros riesgos
Un generador que trabaja en el navegador puede cargar, aun así, scripts de analítica. Esos scripts suelen medir visitas y clics, no el contenido de la página, pero añaden tráfico y un tercero más en quien confiar. El generador más limpio es el que no carga ningún script de terceros.
Por transparencia, esto es lo que hace este sitio: usa un único script de analítica, una instancia de Umami sin cookies, instalada en un servidor propio y servida desde este mismo dominio. Cuenta las visitas y, en una muestra de ellas, registra mapas de calor de los clics y grabaciones de la sesión con todo el texto enmascarado. Todos los elementos que muestran o reciben una contraseña, una frase de contraseña o los datos de una red Wi-Fi están excluidos de esas grabaciones en el propio código de la página, así que la analítica nunca ve una contraseña generada. Puedes comprobarlo con la prueba de la pestaña Red descrita más arriba.
Hay riesgos que ningún generador puede resolver. Una extensión del navegador con permiso para leer las páginas que visitas puede ver todo lo que aparece en ellas, contraseñas incluidas, así que instala solo las que de verdad necesites. Al copiar la contraseña, esta pasa al portapapeles: si usas el historial del portapapeles de Windows o lo sincronizas entre dispositivos, quedará guardada también allí. Pégala donde la necesites, guárdala en tu gestor y bórrala del historial. Y un programa malicioso en el dispositivo lo ve todo; contra eso protege mantener el sistema actualizado, no elegir bien el generador.
Lo que hace este generador, y lo que no
- Crea la contraseña en tu navegador con
crypto.getRandomValues()y muestreo por rechazo, sin sesgo del módulo. - No envía la contraseña a ningún servidor ni la guarda: no hay ningún servidor que la reciba.
- Recuerda tus preferencias, no tus contraseñas: la longitud y los tipos de caracteres que eliges se guardan en el almacenamiento local de tu navegador, en tu dispositivo, y desaparecen al borrar los datos del sitio.
- No pide registro ni datos personales, y la analítica no usa cookies.
La política de privacidad (en inglés) detalla qué datos se recogen y cuáles no, incluido que las grabaciones de la sesión se eliminan a los 30 días.
Tres ideas equivocadas sobre los generadores online
“Si la web usa HTTPS, la contraseña está a salvo”. HTTPS cifra el trayecto entre tu navegador y el servidor, pero no impide que el servidor vea lo que él mismo ha generado. Si la contraseña se crea en el servidor, el servidor la conoce antes de cifrar nada.
“Una marca conocida es garantía suficiente”. La reputación no sustituye a la arquitectura: un sitio con millones de visitas puede generar en el servidor y uno pequeño puede hacerlo bien. Comprueba cómo funciona, no quién lo firma.
“Es más seguro inventarla yo”. Las contraseñas inventadas siguen patrones (una palabra con la inicial en mayúscula, un año al final, una arroba en lugar de la a) que las herramientas de descifrado prueban primero. Un generador bien hecho y verificado aporta azar de verdad: una contraseña aleatoria de 16 caracteres alcanza unos 103 bits de entropía, y la guía ¿Cuánto se tarda en descifrar una contraseña? traduce esa cifra a tiempo.
Cuándo es mejor el generador de tu gestor de contraseñas
El material formativo de INCIBE lo resume así: “la forma más segura de obtener una contraseña robusta es utilizar un generador de contraseñas”, y a continuación añade que “lo más recomendable es utilizar un gestor de contraseñas”, de modo que solo tengas que recordar la contraseña maestra. Las dos recomendaciones encajan: si ya usas un gestor, su generador integrado suele ser la mejor opción para las cuentas que vas a guardar en él. Crea la contraseña y la guarda en un solo paso, sin pasar por el portapapeles, y después la rellena solo en el sitio correcto, lo que de paso te ayuda a protegerte del phishing.
Un generador en el navegador como este sigue siendo útil en otros casos: cuando estás en un dispositivo sin tu gestor, cuando necesitas algo que no vas a guardar en él, como la clave de la red de casa (con el generador de claves Wi-Fi) o un código numérico (con el generador de PIN), o cuando un formulario impone reglas concretas, como rechazar los caracteres especiales. Para las cuentas habituales, una contraseña de 16 caracteres es un buen estándar; para el correo y el banco, una de 20 caracteres. Y sea cual sea el generador, “cada servicio debe tener su propia contraseña de acceso”, como recuerda INCIBE. Si buscas alternativas fáciles de recordar, la guía de ideas de contraseñas seguras las ordena de más a menos fuerte.
Preguntas frecuentes
¿Es seguro usar un generador de contraseñas online?
Sí, si crea la contraseña en tu propio dispositivo. Un buen generador online la crea en tu navegador con crypto.getRandomValues(), el generador criptográfico del propio navegador, y no envía la contraseña a ninguna parte: el servidor solo entrega la página y nunca llega a ver lo que generas. El riesgo está en los generadores que piden la contraseña a un servidor, porque esa máquina la conoce en el momento de crearla. No te conformes con la promesa: abre la pestaña Red de las herramientas para desarrolladores o desconéctate de internet y vuelve a generar. Si sigue funcionando sin conexión, la contraseña se crea en tu navegador.
¿Puede un generador de contraseñas guardar las contraseñas que crea?
Uno que genera en un servidor sí podría: la contraseña existe en esa máquina y podría quedar en un registro o en una base de datos sin que lo sepas. Uno que genera en tu navegador no puede hacerlo sin que se note, porque la contraseña no sale de tu dispositivo; para guardarla tendría que cargar código que la enviara a escondidas, y eso dejaría rastro en la pestaña Red de las herramientas para desarrolladores. Este sitio no guarda ninguna contraseña: solo recuerda, en el almacenamiento local de tu navegador, la longitud y los tipos de caracteres que prefieres.
¿Cómo saber si un generador de contraseñas es fiable?
Con dos pruebas que llevan un par de minutos. Primera: abre las herramientas para desarrolladores (F12), entra en la pestaña Red y genera varias contraseñas; no debe aparecer ninguna petición que lleve la contraseña. Segunda: carga la página, desactiva el Wi-Fi o activa el modo avión y vuelve a generar sin recargar; si sigue funcionando, la contraseña se crea en tu navegador. Como comprobación adicional, busca getRandomValues en el código y desconfía si la lógica de generación usa Math.random(), que no es un generador seguro. Que no te pida registro ni datos personales también es buena señal.
¿Es mejor el generador de un gestor de contraseñas que uno online?
Para las cuentas que vas a guardar en el gestor, sí: crea la contraseña y la guarda en un solo paso, sin pasar por el portapapeles, y después la rellena solo en el sitio correcto. INCIBE considera que lo más recomendable es utilizar un gestor de contraseñas y recordar solo la contraseña maestra. Un generador online que funcione en tu navegador sigue siendo útil cuando estás en un dispositivo sin tu gestor, para la clave de la red Wi-Fi o un PIN, o cuando un formulario impone reglas concretas, como rechazar los caracteres especiales. En cuanto al azar, los dos deben usar un generador criptográfico del sistema.
¿Son más seguras las contraseñas de un generador que las que invento yo?
Sí, y por mucho. Las personas no elegimos al azar: usamos palabras, nombres, fechas, sustituciones como la arroba por la a y secuencias del teclado, y las herramientas de descifrado prueban esos patrones antes que nada. Una contraseña inventada de 12 caracteres puede caer en segundos. En una contraseña generada, cada carácter se elige al azar entre 88 posibilidades, sin ningún patrón, así que no hay atajo: una de 16 caracteres alcanza unos 103 bits de entropía, fuera del alcance de cualquier ataque de fuerza bruta. Para las pocas contraseñas que tienes que memorizar, usa una frase de varias palabras elegidas al azar.
¿Qué datos recoge este generador de contraseñas?
Ninguna contraseña. Las contraseñas se crean en tu navegador con crypto.getRandomValues() y no se transmiten a ningún servidor. El sitio usa una sola herramienta de analítica, Umami, instalada en un servidor propio, servida desde este mismo dominio y sin cookies: cuenta las visitas y, en una muestra de ellas, registra mapas de calor y grabaciones de la sesión con todo el texto enmascarado. Los elementos que muestran o reciben contraseñas, frases de contraseña o datos de redes Wi-Fi quedan excluidos de esas grabaciones en el propio código de la página, y las grabaciones se eliminan a los 30 días.