Generador de Contraseñas
Generar contraseñas aleatorias criptográficamente seguras con longitud y conjuntos de caracteres personalizables.
Cómo funciona este generador de contraseñas
Esta herramienta genera contraseñas usando crypto.getRandomValues(), el generador de números pseudoaleatorios criptográficamente seguro de la API Web Crypto. A diferencia de Math.random(), que usa un algoritmo determinista y es predecible en algunos motores JavaScript, crypto.getRandomValues() obtiene entropía del CSPRNG del sistema operativo (como /dev/urandom en Linux o CryptGenRandom en Windows). La salida es adecuada para aplicaciones sensibles a la seguridad, incluyendo generación de contraseñas, creación de tokens y material de claves criptográficas.
El generador utiliza muestreo por rechazo para eliminar el sesgo de módulo. Al mapear bytes aleatorios (0-255) a un conjunto de caracteres de tamaño arbitrario, una operación de módulo ingenua favorecería ligeramente ciertos caracteres. El muestreo por rechazo descarta bytes aleatorios que introducirían este sesgo, asegurando que cada carácter tenga una probabilidad exactamente igual de ser seleccionado. Este es el mismo enfoque utilizado en bibliotecas criptográficas de producción.
La entropía se calcula como log2(tamaño_conjunto ^ longitud), representando los bits de aleatoriedad en la contraseña generada. Una contraseña de 16 caracteres del conjunto completo de 92 caracteres produce aproximadamente 105 bits de entropía. Como referencia, 80 bits se consideran generalmente suficientes para la mayoría de los propósitos, mientras que 128 bits proporcionan un margen sustancial contra avances previsibles en la capacidad de cómputo.
Preguntas frecuentes
¿Es seguro este generador de contraseñas?
Sí. Esta herramienta utiliza crypto.getRandomValues(), un generador de números pseudoaleatorios criptográficamente seguro (CSPRNG) integrado en todos los navegadores modernos. Todo el proceso se ejecuta en el lado del cliente en su navegador. No se envían contraseñas a ningún servidor ni se almacenan en cookies o historial del navegador.
¿Qué es la entropía de contraseña?
La entropía mide la aleatoriedad de una contraseña en bits. Se calcula como log2(tamaño_del_conjunto ^ longitud). Una contraseña con 128+ bits de entropía se considera muy fuerte. Cada bit adicional duplica el número de combinaciones posibles que un atacante debe probar.
¿Qué longitud debería tener mi contraseña?
NIST SP 800-63B recomienda al menos 8 caracteres, pero los profesionales de seguridad generalmente sugieren 16 o más. Las contraseñas más largas aumentan exponencialmente el espacio de búsqueda. Una contraseña de 16 caracteres con mayúsculas, minúsculas, dígitos y símbolos tiene más de 100 bits de entropía, haciendo los ataques de fuerza bruta inviables con la tecnología actual.
¿Por qué evitar caracteres ambiguos?
Caracteres como L minúscula (l), I mayúscula (I), dígito 1 (1), O mayúscula (O), o minúscula (o) y dígito 0 (0) se ven casi idénticos en muchas fuentes. Al escribir o dictar una contraseña manualmente, excluir estos caracteres reduce los errores de transcripción.
¿Debería usar un gestor de contraseñas?
Sí. Un gestor como KeePassXC, Bitwarden o 1Password almacena sus contraseñas en una bóveda cifrada, por lo que solo necesita recordar una contraseña maestra. Esto le permite usar contraseñas únicas, largas y aleatorias para cada cuenta. Combinado con un generador como este, un gestor de contraseñas es el enfoque más práctico para una seguridad sólida.