Generador de contraseñas
CifradoGenera contraseñas aleatorias criptográficamente seguras con crypto.getRandomValues.
En esta página
¿Qué es un generador de contraseñas?#
Un generador de contraseñas convierte una fuente de aleatoriedad real en una cadena de caracteres que puedes usar como credencial. La idea no es solo «hacerla larga», sino extraer de un conjunto de caracteres de forma uniforme, de modo que todas las contraseñas posibles de la longitud elegida sean igual de probables. Esa uniformidad es lo que te permite razonar sobre la fortaleza matemáticamente: una contraseña de 16 caracteres sobre 93 caracteresporta unos 105 bits de entropía, sin más, sin sesgo humano que explotar.
Esta página usa crypto.getRandomValues, la fuente aleatoria criptográficamente fuerte del navegador, y hace la extracción con muestreo por rechazo. Ese detalle importa: el atajo ingenuo de tomar randomByte % poolSize introduce un sesgo de módulo cuando el tamaño del conjunto no divide 256 de forma exacta. El muestreo por rechazo descarta los restantes sesgados, así la selección es imparcial para cualquier conjunto, incluido el conjunto completo de 93 caracteres, que es incómodo.
El indicador de fortaleza bajo el resultado se calcula de forma honesta como longitud × log2(tamañoDelConjunto) —entropía de Shannon— y se clasifica en débil / aceptable / buena / fuerte. Refleja el conjunto que realmente seleccionaste, no una suposición.
Cómo usarlo#
- Ajusta la longitud. El valor por defecto de 16 es una longitud todoterreno; el campo admite hasta 4096.
- Marca las clases de caracteres a incluir: minúsculas, mayúsculas, dígitos, símbolos. Minúsculas, mayúsculas y dígitos están activos por defecto; los símbolos no, porque algunos formularios de inicio de sesión los rechazan.
- Opcionalmente marca Excluir similares para eliminar los caracteres visualmente confundibles (
i l 1 L o 0 Oy algunos símbolos parecidos a comillas): útil cuando la contraseña se va a leer en voz alta o a teclear a mano. - Pulsa Generar y luego Copiar. La línea de estado reporta la entropía en bits y una etiqueta de fortaleza derivada del conjunto y la longitud que elegiste.
Características principales#
- Aleatoriedad imparcial. El muestreo por rechazo sobre
crypto.getRandomValuessignifica que no hay sesgo de módulo, ni siquiera en conjuntos cuyo tamaño no es potencia de dos. - Medidor de fortaleza honesto. La entropía se calcula a partir del tamaño real del conjunto y de la longitud, no se estima a ojo; las categorías débil / aceptable / buena / fuerte se mapean a umbrales de bits fijos (28 / 60 / 100).
- Modo Excluir similares. Elimina los caracteres con más probabilidades de malinterpretarse, para contraseñas que los humanos deben transcribir.
- Ajustable hasta 4096. Tanto si quieres una contraseña de 16 caracteres para iniciar sesión como una clave de API de 64, el mismo generador la gestiona.
- Cero subidas. La generación es totalmente local; la contraseña nunca se envía por una red.
Ejemplo detallado#
Con longitud 16, las cuatro clases activadas (minúsculas + mayúsculas + dígitos + símbolos) y Excluir similares desactivado, el conjunto es de 93 caracteres (26 + 26 + 10 + 31). La entropía es por tanto 16 × log2(93) ≈ 16 × 6,54 ≈ 105 bits, que cae en la banda fuerte (≥ 100 bits). Un resultado generado se ve así:
qM8#fT2$vRkL9@hZ
Activa Excluir similares y el conjunto baja a 85 (ocho caracteres confundibles eliminados), lo que da 16 × log2(85) ≈ 103 bits: sigue siendo fuerte, pero ahora es segura para leerla por teléfono.
Para contrastar: baja a longitud 12 con solo minúsculas + dígitos (conjunto de 36) y la entropía cae a 12 × log2(36) ≈ 62 bits: solo buena. Esa caída, de 105 a 62 bits, no es un error de redondeo: es aproximadamente 2^43 veces más rápida de romper por fuerza bruta, y es justo la razón por la que tanto el conjunto de caracteres como la longitud importan.
Preguntas frecuentes#
¿Cuánto es «suficientemente larga»?#
Para una contraseña de inicio de sesión tras un servicio con límite de frecuencia, 12–16 caracteres de un conjunto amplio es holgado. Para una clave de API o una contraseña que guardas en un gestor sin ningún límite en línea que la proteja, apunta a 25 o más caracteres. El medidor de fortaleza te dice la verdad en bits: cualquier cosa a partir de 100 bits se considera fuerte frente a la fuerza bruta sin conexión en el hardware actual.
¿Por qué el mismo ajuste produce una contraseña distinta cada vez?#
Porque los bytes aleatorios subyacentes son nuevos en cada pulsación. Esa es toda la idea: si la salida fuera predecible, un atacante podría predecirla también. No hay semilla que puedas fijar, por diseño.
¿Debería incluir símbolos?#
Inclúyelos salvo que el sistema de destino los rechace. Los símbolos ensanchan el conjunto (de 62 a 93 caracteres para el conjunto por defecto), lo que eleva directamente la entropía por carácter. La razón habitual para quitarlos es un formulario de inicio de sesión que prohíbe ciertos signos de puntuación, no una contrapartida de seguridad.
¿Una contraseña generada es más segura que una que yo invente?#
Casi siempre, sí. Los humanos somos malísimos para la aleatoriedad: nos agrupamos en palabras comunes, patrones repetidos y recorridos de teclado en torno a los cuales se construyen los diccionarios. Un generador que extrae de forma uniforme de un conjunto definido no tiene esos hábitos, así una contraseña generada de 16 caracteres es siempre más fuerte que una de 12 elegida por un humano que se cree lista.