Generador de Contraseñas

Genera contraseñas aleatorias fuertes con longitud y conjuntos de caracteres personalizables — usando la aleatoriedad criptográfica de tu navegador.

1.331 visitas

Cómo Funciona

La fortaleza de una contraseña no es aditiva, es exponencial: el número de combinaciones posibles equivale al tamaño del conjunto de caracteres elevado a la potencia de la longitud (conjunto^longitud), y ese exponente es lo que convierte a la longitud en la palanca individual más poderosa disponible. Una contraseña de 8 caracteres que usa solo minúsculas se extrae de un conjunto de 26 caracteres, lo que da 26^8 — aproximadamente 208 mil millones de combinaciones posibles, que suena a mucho hasta que el hardware moderno prueba miles de millones de intentos por segundo. Añade mayúsculas, dígitos y símbolos y extiende la longitud a 12 caracteres, y el conjunto crece a unos 95 caracteres, dando 95^12 — del orden de 540 mil trillones (5,4 × 10^23) de combinaciones. Esa no es una mejora modesta; es muchos órdenes de magnitud mayor, porque cada carácter adicional multiplica el total en lugar de sumarlo. Ejemplo concreto: pasar de una contraseña de 8 caracteres solo en minúsculas a una de 12 caracteres con los cuatro tipos de carácter no solo duplica la seguridad, sino que traslada el tiempo de fuerza bruta de "descifrable en un plazo razonable" a "muy por encima de cualquier ataque realista, incluso frente a hardware futuro".

Este generador elige cada carácter usando crypto.getRandomValues — el generador de números aleatorios criptográficamente seguro del navegador — en lugar de Math.random(). Esa distinción importa: Math.random() es un generador pseudoaleatorio rápido y predecible, pensado para animaciones y juegos, y su estado interno puede en algunos casos reconstruirse a partir de la salida observada, lo que lo hace inadecuado para cualquier cosa relacionada con la seguridad. crypto.getRandomValues se nutre de la fuente de entropía criptográfica del sistema operativo, diseñada específicamente para ser impredecible incluso para un atacante que haya visto salidas anteriores.

Qué Debes Saber

La longitud vence a la complejidad casi siempre. Una contraseña de 16 caracteres que use solo minúsculas (26^16) es matemáticamente mucho más fuerte que una de 8 caracteres que mezcle los cuatro tipos (95^8), simplemente porque el exponente domina sobre la base. Al elegir entre una contraseña más larga y sencilla o una más corta y compleja, elige la más larga.

La contraseña nunca sale de tu dispositivo: se genera por completo en tu navegador y esta herramienta no transmite, registra ni almacena nada en ningún servidor. Recargar o cerrar la página la destruye por completo, precisamente por eso debe copiarse directamente en un gestor de contraseñas en lugar de dejarla en pantalla o en un archivo de texto.

Reutilizar una misma contraseña en varias cuentas convierte una sola filtración de datos en muchas. Si la base de datos de un sitio se filtra — y las filtraciones ocurren incluso a servicios cuidadosos y bien gestionados — cada otra cuenta que comparta esa contraseña queda vulnerable en el momento en que la lista de contraseñas filtradas empieza a circular. Una contraseña única y generada por sitio, guardada en un gestor de contraseñas, limita el daño de cualquier filtración a esa única cuenta.

Preguntas Frecuentes

¿Cuánto debe medir mi contraseña?

Al menos 12 caracteres para cuentas normales y 16 o más para las críticas (correo, banca). La longitud gana a la complejidad: una contraseña de 16 minúsculas es más fuerte que una de 8 con símbolos.

¿La contraseña generada se envía a un servidor?

No. Se produce enteramente en tu dispositivo con la API crypto.getRandomValues del navegador y nunca sale de él. Recargar la página la destruye.

¿Puedo usar la misma contraseña en varios sitios?

Nunca. Una filtración en un sitio expondría todas tus cuentas. Genera una contraseña única por sitio y guárdalas en un gestor de contraseñas.

¿Por qué añadir un carácter más ayuda más que añadir un símbolo?

Porque la longitud es un exponente y la variedad de caracteres es solo la base. Añadir un carácter a la longitud multiplica el número total de combinaciones por el tamaño completo del conjunto de caracteres; añadir un tipo de símbolo más solo aumenta la base en unas pocas unidades. En cualquier longitud de contraseña realista, el aumento de longitud gana por un margen amplio.

¿No es Math.random() ya suficientemente aleatorio?

Para juegos o animaciones, sí — pero es un generador pseudoaleatorio rápido, no criptográfico, y su salida puede en algunas circunstancias predecirse o reconstruirse. La generación de contraseñas necesita crypto.getRandomValues, la fuente criptográficamente segura del navegador, que esta herramienta usa en exclusiva.

Comentarios

Aún no hay comentarios — ¡sé el primero en escribir uno!

Herramientas Similares