ToolActToolAct

Generador de Contraseñas

Genera contraseñas seguras con longitud y tipos de caracteres personalizados

Configuración de Contraseña
416324864
MayúsculasA-Z
Minúsculasa-z
Números0-9
Símbolos!@#$%^&*
Caracteres PersonalizadosUsar conjunto de caracteres personalizado
Opciones Avanzadas

Excluir caracteres confusos como 0O, 1lI

Excluir Ambiguosi, l, 1, L, o, 0, O
Empezar con LetraMás fácil copiar-pegar
Haz clic en generar para crear una contraseña
Fortaleza de ContraseñaDébil
Generación por Lote
Haz clic en 'Generar Lote' para crear múltiples contraseñas
Historial
Sin historial todavía

¿Qué es un Generador de Contraseñas?

Un generador de contraseñas crea contraseñas aleatorias y difíciles de adivinar según longitud y reglas de caracteres elegidas. Un buen generador usa aleatoriedad criptográficamente segura y combina mayúsculas, minúsculas, números y símbolos solo cuando el sistema de destino los acepta. Las contraseñas fuertes reducen ataques de diccionario, fuerza bruta y credential stuffing, pero no sustituyen hábitos como usar un gestor, mantener una contraseña distinta por cuenta y activar autenticación multifactor. Las contraseñas muy complejas no deberían memorizarse ni reutilizarse; deben almacenarse de forma segura. En sistemas compartidos también importan rotación, propiedad y reglas de acceso.

Cómo usar

Pasos de generación

  1. Selecciona la longitud de la contraseña (se recomienda un mínimo de 12 caracteres)
  2. Marca los tipos de caracteres: mayúsculas, minúsculas, números, símbolos
  3. Opcionalmente excluye caracteres confusos como 0O, 1lI
  4. Haz clic en el botón Generar, repite hasta quedar satisfecho

Robustez de la contraseña

  • Débil: menos de 8 caracteres o un solo tipo de carácter
  • Aceptable: de 8 a 11 caracteres con letras y números combinados
  • Buena: de 12 a 15 caracteres con múltiples tipos de caracteres
  • Fuerte: más de 16 caracteres con todos los tipos de caracteres

Consejos de seguridad

  • Todas las contraseñas se generan localmente, nunca se suben a los servidores
  • Usa contraseñas diferentes para diferentes sitios web
  • Usa un gestor de contraseñas para almacenarlas de forma segura
  • Cambia periódicamente las contraseñas de cuentas importantes
  • Evita usar información personal en las contraseñas

Casos de uso

Generar contraseñas con reglas de caracteres precisasConfigura la longitud de 4 a 64 caracteres, elige mayúsculas, minúsculas, números, símbolos, conjuntos de caracteres personalizados, exclusiones, eliminación de caracteres ambiguos y si la contraseña debe empezar con una letra. Las contraseñas se generan y usan localmente: la página obtiene entropía de crypto.getRandomValues y la cadena resultante se mantiene en memoria hasta que la copias en la aplicación de destino, por lo que nunca se sube a ningún servicio.
Crear lotes para configuración de cuentas o pruebasGenera 5, 10, 20 o 50 contraseñas usando las reglas actuales y copia resultados individuales de la lista por lotes. Los preajustes para contraseñas simples, medias, fuertes y estilo PIN facilitan alternar entre credenciales reales y datos de prueba. Cada valor en la lista de lotes se genera y usa localmente, lo que significa que la misma sesión puede producir fixtures desechables y contraseñas de cuenta reales sin que ninguna cruce la red.
Mantener un historial local breve de generaciónLas últimas contraseñas generadas se almacenan en localStorage con marcas de tiempo y pueden limpiarse desde la página. Esto es útil durante sesiones de configuración, pero el comportamiento del historial también hace importante limpiar la lista en equipos compartidos. Como cada entrada se genera y usa localmente, el archivo de historial es la única copia existente: eliminarla mediante el botón de limpiar retira realmente el valor del dispositivo.
Generar una contraseña memorable estilo fraseDesactiva los símbolos, configura la longitud en torno a 20 y permite que solo minúsculas y números se combinen para que el resultado se parezca más a una frase de contraseña. Aún así, confía en un gestor de contraseñas para almacenarla: las cadenas largas no están diseñadas para memorizarse. La fuente de aleatoriedad permanece en la pestaña del navegador, por lo que el mismo generador de frases puede usarse en una estación de trabajo sin conexión o tras un firewall restrictivo.
Crear fixtures de prueba que cumplan una política de contraseñasConfigura la misma longitud, clases de caracteres y exclusiones que el validador de producción impone, luego genera lotes de 20-50 para sembrar QA, formularios de registro o simulaciones de filtraciones. El generador no valida contra sistemas reales, así que verifica la política en sí. Como cada fixture se genera y usa localmente, la misma página puede producir miles de contraseñas de prueba conformes sin filtrar la política ni los valores generados a través de una llamada de red.

Principio técnico

El generador de contraseñas obtiene aleatoriedad de crypto.getRandomValues(new Uint32Array(n)), que rellena un array tipado con valores pseudoaleatorios criptográficamente seguros provenientes del pool de entropía del sistema operativo (getrandom en Linux, BCryptGenRandom en Windows, SecRandomCopyBytes en macOS/iOS). Se trata de un CSPRNG según lo definido por la W3C Web Cryptography API, a diferencia de Math.random(), que en V8 utiliza el algoritmo xorshift128+ y está explícitamente documentado como no criptográfico y predecible a partir de una pequeña muestra de salidas. El conjunto de caracteres se ensambla a partir de las clases seleccionadas por el usuario: mayúsculas (26 letras A-Z), minúsculas (26 letras a-z), dígitos (10 caracteres 0-9) y símbolos (32 caracteres de !@#$%^&*()_+-=[]{}|;:,.<>?), lo que da un pool máximo de 94 caracteres. Un conjunto personalizado o una lista de exclusión (incluyendo un filtro de caracteres ambiguos que elimina i, I, l, L, 1, o, O, 0) refina aún más el pool. Cada carácter de la contraseña se selecciona tomando array[i] % pool.length, distribución uniforme porque la salida del CSPRNG es uniforme sobre 32 bits y el sesgo de módulo (|pool| no divide 2^32 exactamente) es despreciable para pools de menos de 256 caracteres: el sesgo es inferior al 0.00000006%, muy por debajo de cualquier preocupación práctica. La fortaleza de la contraseña se mide por el tamaño del espacio de búsqueda: para un pool de tamaño C y longitud L, el número de contraseñas posibles es C^L. La entropía en bits es log2(C^L) = L x log2(C). Para una contraseña de 16 caracteres con las cuatro clases habilitadas (C=94), esto produce 94^16 ≈ 4.4 x 10^31 combinaciones, o unos 105 bits de entropía. A una tasa hipotética de 10^12 intentos por segundo (aproximadamente el rendimiento de un gran clúster de GPU contra un hash rápido como NTLM), la búsqueda exhaustiva tomaría aproximadamente 4.4 x 10^19 segundos, mucho más que la edad del universo. Este modelo asume que el atacante debe probar cada combinación (sin atajos de diccionario o basados en patrones) y que la contraseña se hashea con un algoritmo lento y con sal como bcrypt o Argon2id en lugar de almacenarse en texto plano. NIST SP 800-63B recomienda un mínimo de 8 caracteres para contraseñas elegidas por el usuario y al menos 6 caracteres generados aleatoriamente para credenciales generadas por máquina, con el conjunto de caracteres documentado. El rango de longitud del generador de 4 a 64 caracteres cubre desde códigos PIN hasta credenciales de máquina de alta entropía. La opción de empezar con letra asegura que el primer carácter se elige de [A-Za-z], lo que satisface sistemas heredados que requieren que las contraseñas comiencen con una letra.

  • Fuente CSPRNG: crypto.getRandomValues() obtiene entropía del CSPRNG del núcleo del SO (getrandom/BCryptGenRandom/SecRandomCopyBytes), a diferencia de Math.random() (xorshift128+), no es predecible, no se puede sembrar desde la página y es adecuado para generación de credenciales.
  • Matemáticas del espacio de caracteres: con las cuatro clases habilitadas, el tamaño del pool es 94; la entropía por carácter es log2(94) ≈ 6.55 bits. Una contraseña de 16 caracteres tiene ~105 bits de entropía; duplicar la longitud a 32 eleva esto a ~210 bits.
  • Selección por módulo: array[i] % pool.length mapea la salida de 32 bits del CSPRNG a un índice de carácter; el sesgo es inferior al 6 x 10^-8 % para pools de menos de 256 caracteres, lo que lo hace criptográficamente irrelevante.
  • Modelo de resistencia a fuerza bruta: a 10^12 intentos/segundo (escala de clúster de GPU), una contraseña de 16 caracteres con 94 símbolos tomaría ~10^19 segundos para agotarse, pero esto asume un hash rápido; bcrypt con factor de costo 12 reduce al atacante a ~10^4 intentos/segundo, haciendo que incluso contraseñas de 8 caracteres sean resilientes.
  • Exclusión de caracteres ambiguos: el filtro elimina {i, I, l, L, 1, o, O, 0} (8 caracteres), lo que reduce el pool de 94 a 86, costando aproximadamente 0.6 bits de entropía por carácter, aceptable por la ganancia en usabilidad en escenarios de transcripción manual.
  • Alineación con NIST SP 800-63B: el estándar requiere un mínimo de 6 caracteres elegidos aleatoriamente para secretos generados por máquina y recomienda documentar el espacio de caracteres; los preajustes del generador (Simple 8 caracteres, Fuerte 20 caracteres) se asignan a diferentes niveles de garantía.
  • Historial en localStorage: las últimas 10 contraseñas generadas se persisten en window.localStorage, que está acotado al origen y perfil del navegador; borrar el historial las elimina del almacenamiento, pero una herramienta forense a nivel de disco podría recuperarlas porque localStorage se almacena como una base de datos SQLite en texto plano en el directorio del perfil del navegador.

Ejemplos

Contraseña fuerte (clases de caracteres mixtas)

Kx9#mP2$vL7@nQ4!  -  16 caracteres, las cuatro clases (mayúscula/minúscula/dígito/símbolo)
Fortaleza: extremadamente alta; incluso a 10 000 millones de intentos por segundo, romperla por fuerza bruta llevaría siglos

Código PIN (4 dígitos)

8527  -  4 dígitos numéricos
Fortaleza: 10.000 combinaciones; solo es adecuado para desbloqueo de dispositivos con limitación de intentos y bloqueo, no para cuentas en línea

Comparativa de fortaleza de contraseñas

8 caracteres, solo minúsculas : 26^8      ≈ 2,08e11 combinaciones
8 caracteres, clases mixtas   : 94^8      ≈ 6,10e15 combinaciones
16 caracteres, clases mixtas  : 94^16     ≈ 3,7e31 combinaciones
Nota: cada carácter adicional multiplica el espacio de claves por 94, no por 8 - la longitud importa más que el número de clases

Preguntas frecuentes

¿La contraseña se genera en mi navegador?

Sí. La página usa crypto.getRandomValues de la Web Crypto API, que proporciona bytes aleatorios criptográficamente seguros. La contraseña nunca sale de tu dispositivo, no se registra y no se deriva de una semilla determinista. Recarga la página para iniciar una secuencia de entropía nueva si quieres asegurarte.

¿Qué longitud y combinación de caracteres debería elegir?

Para cuentas en línea, 16 caracteres o más con mayúsculas, minúsculas, dígitos y símbolos es el mínimo actual. Para contraseñas maestras (gestor de contraseñas, claves de cifrado), 20 caracteres o más, o una frase de paso de 6-7 palabras, es más seguro. Pasado cierto punto, la longitud importa más que la complejidad del conjunto de caracteres.

¿Por qué algunos sitios rechazan la contraseña que acabo de generar?

Algunos sitios siguen aplicando restricciones sorprendentes: longitud máxima (a menudo 12-20), prohibición de símbolos, solo símbolos concretos permitidos o ningún espacio en blanco. La página ofrece interruptores de caracteres para que ajustes las reglas. Reporta los sitios problemáticos: esas políticas debilitan activamente la seguridad.

¿Hay caracteres que se evitan a propósito?

Si activas la opción «evitar caracteres parecidos entre sí», el generador excluye 0/O, 1/l/I y pares similares que son fáciles de confundir al copiar desde un papel o una nota adhesiva. Desactívala para obtener la máxima entropía cuando solo vayas a usar la contraseña digitalmente.

¿Una contraseña aleatoria larga es más segura que una frase de paso?

Con la misma entropía, ambas son igual de difíciles de descifrar por fuerza bruta. Una contraseña mixta de 16 caracteres equivale aproximadamente a una frase de paso de 6 palabras tomadas al azar de una lista de 2000. Las frases de paso son más fáciles de teclear y recordar; las cadenas aleatorias puras son más fáciles de pegar desde un gestor. Elige según el caso de uso.

¿Puedo confiar en esto para la clave maestra de un gestor de contraseñas?

Sí: la fuente de aleatoriedad es la misma Web Crypto API que tu navegador usa para las claves HTTPS. Dicho esto, para secretos de altísimo valor (claves maestras, códigos de recuperación), mucha gente prefiere tirar dados (diceware) o usar una herramienta sin conexión, simplemente para sacar el navegador de la cadena de confianza.

¿Debería guardar aquí la contraseña generada?

No. La página no guarda contraseñas; cópiala de inmediato a un gestor de contraseñas (1Password, Bitwarden, KeePass o el gestor integrado del navegador). Cerrar la página o pulsar recargar la descarta de forma permanente.