Generador de contraseñas
Criptográficamente seguro // v1.0
Rango: 4-64
Rango: 1-10
Esperando entrada...
¿Qué es un generador de contraseñas aleatorias?
Un generador de contraseñas aleatorias construye una contraseña tomando caracteres con probabilidad uniforme dentro de los conjuntos que permitas. RandomHub usa la Web Crypto API criptográficamente segura del navegador (window.crypto.getRandomValues) y muestreo por rechazo para evitar el sesgo por módulo — la misma fuente de aleatoriedad en la que se apoyan los gestores de contraseñas líderes. Tú decides la longitud (de 4 a 64 caracteres), los conjuntos activos (mayúsculas, minúsculas, dígitos, símbolos) y si excluyes caracteres visualmente ambiguos (l, 1, I, O, 0). Toda la generación ocurre en tu navegador; la contraseña no viaja por la red ni queda en ningún log.
¿Para quién es este generador?
Personas con cuidado por la privacidad
Gestionas tus credenciales tú mismo y prefieres un generador que se ejecuta en cliente y se puede auditar, en lugar de la caja negra de un proveedor.
Admins de IT y sistemas
Cuentas de servicio, passphrases para claves SSH, semillas de bases de datos, credenciales puntuales para nuevos miembros del equipo. Con tope de 64 caracteres cubres casi todo, salvo claves de plena entropía.
Desarrolladores
Secretos desechables para entornos de dev, fixtures de prueba, flujos de auth simulados, datos de ejemplo — cuando abrir una pestaña pesa menos que invocar `pwgen` o `openssl rand`.
Padres y madres
Cuenta para un peque que nunca tuvo que recordar una contraseña fuerte. Genera con caracteres ambiguos excluidos para que se pueda dictar y teclear sin equivocaciones.
Self-hosters
Levantas Vaultwarden, Nextcloud, Postgres o un panel admin propio y necesitas credenciales nuevas antes de conectar el gestor. Generas, pegas, sigues.
Cuando el generador del gestor falla
Algunos gestores esconden su generador en menús o extensiones que no responden justo en el momento del registro. Una herramienta independiente y fiable elimina esa fricción exactamente entonces.
Por qué este generador
Fuente aleatoria criptográfica
Los bytes vienen de window.crypto.getRandomValues — la Web Crypto API, la misma que usan 1Password, Bitwarden y los navegadores modernos. Math.random no aparece en ningún punto del flujo.
Sin sesgo por módulo
El enfoque ingenuo `random % poolSize` favorece índices bajos cuando el pool no divide la fuente de forma exacta. Aplicamos muestreo por rechazo sobre Uint32 para que cada carácter tenga la misma probabilidad.
Medidor de fuerza en bits reales
Entropía = longitud × log₂(tamaño del pool), la fórmula de manual. Tramos: débil <40 bits, aceptable 40–63, fuerte 64–95, fortaleza 96+. Se ve al instante si la configuración alcanza el objetivo.
Se queda en tu navegador
Cuando generas, no se hace ninguna petición de red. No hay logs, ni almacenamiento, ni envío, ni análisis. Abre las DevTools, pulsa Generar — la pestaña Red sigue muda.
Escenarios habituales con ejemplos
Contraseña nueva para una web bancaria
Te registras en un servicio bancario o público que no admite símbolos. Longitud 20, conjuntos Mayús / Minús / Dígitos, símbolos desactivados, caracteres ambiguos excluidos — la contraseña se lee bien en un recibo impreso.
Ajustes: longitud 20, Mayús+Minús+Dígitos, Excluir ambiguos. Ejemplo: «Tyek5JWXcbgjLE2EH3vk» — 20 × log₂(58) ≈ 117 bits, dentro de la zona fortaleza, alfanumérico estricto.
Passphrase para una clave SSH
Tu clave privada necesita una passphrase que escribes de memoria una vez al día. Longitud 24, todos los conjuntos, ambiguos incluidos — entropía alta y legible. Guárdala en el gestor y deja de intentar memorizarla.
Ajustes: longitud 24, todos los conjuntos, Excluir ambiguos desactivado. Ejemplo: «K9$mZ#7vTq!4nL@8pR2&yX#W» — 24 × log₂(76) ≈ 150 bits. Más resistente que la propia clave a la que protege.
Cuenta de prueba desechable
Necesitas una contraseña para una cuenta temporal mientras desarrollas. Longitud 12, minúsculas + dígitos basta; la cuenta desaparece en una hora.
Ajustes: longitud 12, solo Minús+Dígitos. Ejemplo: «k7vmqr3z9fnp» — 12 × log₂(36) ≈ 62 bits. Tramo «aceptable», suficiente para una cuenta de 60 minutos.
Contraseña que dictas en un kiosco compartido
Una persona dicta y otra teclea. Excluye los caracteres ambiguos (la l minúscula, la I mayúscula, el 1, la O mayúscula, el 0) — desaparecen los errores de transcripción más comunes.
Ajustes: longitud 16, Mayús+Minús+Dígitos, Excluir ambiguos activado. Ejemplo: «RvkP4hgWmFu82tNz» — 16 × log₂(58) ≈ 94 bits. Casi en zona fortaleza, legible incluso en un sitio ruidoso.
Cómo usarlo
- 1.
Definir la longitud
De 4 a 64. 16 es un buen valor por defecto para la mayoría de cuentas; 24+ para passphrases SSH o cuentas root auto-alojadas.
- 2.
Elegir conjuntos
Activa Mayúsculas, Minúsculas, Dígitos, Símbolos. Cada conjunto activo agranda el pool y eleva la entropía por carácter. La salida garantiza al menos un carácter de cada conjunto activo.
- 3.
Decidir sobre los ambiguos
Desactivado (predeterminado): l, 1, I, O, 0 quedan dentro — un poco más de entropía. Activado: se filtran — la contraseña se dicta o se transcribe sin tropiezos.
- 4.
Generar y copiar
Botón Generar o Enter. Cada contraseña tiene su botón propio; «Copiar todo» cubre el caso de varias a la vez (1 a 10). «Mostrar / Ocultar» evita miradas indiscretas si generas en público.
Preguntas frecuentes
¿Este generador es realmente seguro?
La aleatoriedad sale de window.crypto.getRandomValues — la Web Crypto API, la misma fuente que utilizan 1Password, Bitwarden y los navegadores modernos para sus generadores. El muestreo por rechazo elimina el sesgo por módulo. La generación ocurre íntegramente en cliente: abre las DevTools, pulsa Generar, y verás que no hay tráfico de red.
¿Qué es el "sesgo por módulo" y por qué importa?
El enfoque ingenuo genera un entero aleatorio de 32 bits y aplica `n % poolSize`. Cuando el tamaño del pool no divide a 2³² de forma exacta, algunos índices quedan ligeramente más probables que otros. En una contraseña eso se traduce en pérdida de entropía. Descartamos las muestras que caen en la cola desbalanceada y volvemos a tirar — cada carácter sigue siendo equiprobable.
¿Cómo se calcula la fuerza en bits?
Entropía = longitud × log₂(tamaño del pool). Una contraseña de 16 caracteres con minúsculas+dígitos tiene 16 × log₂(36) ≈ 83 bits. La misma longitud con los cuatro conjuntos y sin filtro de ambiguos: 16 × log₂(94) ≈ 105 bits. Umbrales: débil <40, aceptable 40–63, fuerte 64–95, fortaleza 96+.
¿Por qué excluir caracteres ambiguos?
l, 1, I, O, 0 se confunden visualmente en muchas tipografías. Filtrarlos ayuda cuando la contraseña se va a leer en voz alta, copiar a papel, dictar por teléfono o mostrar en una pantalla de kiosco. El coste es un pool ligeramente menor, con algo menos de entropía por carácter — casi siempre un canje que vale la pena.
¿Las contraseñas se guardan o envían a algún sitio?
No. La generación se hace con JavaScript en tu navegador. La página no realiza ninguna petición al pulsar Generar. No registramos, no almacenamos, no transmitimos, no analizamos. Aunque después nos pidieras recuperar una contraseña generada, no podríamos — no queda ningún rastro.
¿Por qué el mínimo es 4 y no 8?
Para la mayoría de cuentas conviene usar 12+. El mínimo 4 existe porque hay casos legítimos tipo «PIN» (código de puerta, PIN de app, juegos de aula) en los que se necesita explícitamente una cadena corta numérica o alfabética. El medidor de fuerza avisa cuando la entropía es baja.
¿Qué símbolos incluye la opción "Símbolos"?
El conjunto es `!@#$%^&*()-_=+[]{};:,.<>?/` — 26 caracteres. Quedan fuera, a propósito, los que suelen romper la validación de formularios (barra invertida, comillas simples y dobles, acento grave, espacio), para que la contraseña funcione en el mayor número posible de altas.
¿Puedo generar una passphrase tipo "correct horse battery staple"?
Por ahora no — RandomHub genera contraseñas a nivel de carácter. Las passphrases estilo Diceware necesitan una lista de palabras curada y son una herramienta distinta. Si añadir esa página tiene sentido, sería una página separada.
Sobre las contraseñas aleatorias fuertes
La resistencia de una contraseña al ataque por fuerza bruta crece exponencialmente con su entropía en bits. Una contraseña de 12 caracteres tomados de los 94 ASCII imprimibles aporta unos 79 bits — ya por encima de lo que un atacante offline puede romper con un presupuesto de hardware razonable, siempre que el hash esté correctamente estirado. 16 caracteres dan unos 105 bits, y 24 caracteres unos 158, muy por encima del nivel práctico de seguridad de AES-128. La lección de la última década de investigación sobre contraseñas es clara: la longitud importa más que la diversidad de clases. Añadir un símbolo a una contraseña de 10 caracteres rinde menos que llevar la misma contraseña a 14 caracteres dentro de una clase más pequeña. Los valores por defecto de RandomHub — longitud 16, los cuatro conjuntos, sin filtro de ambiguos — caen cómodamente en zona fortaleza para la mayoría de modelos de amenaza. La herramienta es deliberadamente estrecha: aleatoriedad criptográfica, longitud y conjuntos configurables, un medidor de entropía honesto, y nada más. Si una funcionalidad mejoraría notablemente el flujo sin romper la garantía «se queda en tu navegador», escríbenos.
Herramientas relacionadas
Herramientas relacionadas
Continúa con herramientas útiles para clases, juegos, escritura, planificación y decisiones rápidas.