Control de Script del PasswordGenerator
Además de crear contraseñas utilizando la interfaz gráfica de usuario del programa, el PasswordGenerator en su versión de escritorio también ofrece la opción de generar contraseñas dentro de scripts o mediante la línea de comandos. Explicaremos cómo funciona esto a continuación.
- Cómo iniciar el Password Generator en Modo por Lotes
- Influir en la Longitud de la Contraseña
- Influir en las Clases de Caracteres utilizadas para la Contraseña
- Influir en los Caracteres de las Clases de Caracteres
- Influir en el Uso Mínimo de las Clases de Caracteres
- Caracteres únicos, similares y adyacentes
- Cargar Archivos de Configuración
- Resumen de todos los Parámetros disponibles
Modo por Lotes
Para poner el Password Generator en modo por lotes, solo se requiere un parámetro. Simplemente llame al Password Generator a través de la línea de comando o dentro de un script con el parámetro -cl (significa command line):
PasswortGenerator -cl
Con esto, el Password Generator se inicia en modo por lotes sin una interfaz gráfica de usuario. El programa genera automáticamente una contraseña inmediatamente después de comenzar, la envía a través de la línea de comando y luego sale de nuevo.
Dado que esta llamada no contiene cualquier otro parámetro, la configuración estándar se utiliza para generar la contraseña. Estas son las configuraciones predeterminadas del generador de contraseñas o las configuraciones de inicio, si ha guardado alguna.
Influir en la Longitud de la Contraseña
El primer parámetro interesante con el que puede establecer la longitud deseada de su contraseña es el parámetro l. Simplemente escribe después de l= la longitud que debe tener su contraseña. Una llamada puede verse así, por ejemplo:
PasswortGenerator -cl l=16
Con esta línea usted crea una contraseña de 16 caracteres. Además, la configuración predeterminada del Password Generator se utiliza para la contraseña. Si omite el parámetro "l", se utilizan los ajustes predeterminados para la longitud de la contraseña.
Influir en las Clases de Caracteres utilizadas para la Contraseña
En el PasswordGenerator hay 4 clases de caracteres disponibles para sus contraseñas: letras mayúsculas, letras minúsculas, dígitos y caracteres especiales. Con el parámetro "c" (para character classes, clases de caracteres) puede determinar en modo por lotes a partir de qué clases de caracteres se debe construir su contraseña.
Para cada clase de carácter hay una letra: u (uppercase) significa letras mayúsculas, l (lowercase) significa letras minúsculas, d (digits) dígitos y s (special characters) caracteres especiales. Las letras se pueden combinar libremente entre sí.
Puede especificar las letras para todas las clases de caracteres si se deben usar caracteres de todas las clases de caracteres para su contraseña:
PasswortGenerator -cl c=ulds
Si solo se deben usar letras mayúsculas, letras minúsculas y números, omita la s para los caracteres especiales y pase solo las otras tres letras:
PasswortGenerator -cl c=uld
Si solo se deben usar dígitos, simplemente pase solo la d (dígitos) como parámetro:
PasswortGenerator -cl c=d
Los parámetros se pueden mezclar libremente. Si desea, por ejemplo, una contraseña de 8 caracteres que consta de letras mayúsculas y minúsculas, puede utilizar el siguiente comando:
PasswortGenerator -cl l=8 c=ul
Por otro lado, si omite algunos o todos estos parámetros, se utilizan las configuraciones predeterminadas del programa.
Tenga en cuenta que incluso si especifica mediante el parámetro "c=ulds" que se pueden utilizar todas las clases de caracteres para su contraseña, la coincidencia puede provocar que algunas de las clases de caracteres falten en su contraseña. Si desea evitar esto, puede utilizar el parámetro "m" de esta manera:
PasswordGenerator -cl l=6 c=ulds m=1
Con "m=1" se asegura de que se debe utilizar al menos un carácter de cada clase de caracteres seleccionada ("m" significa "mínimo"). Con este comando creamos contraseñas de seis caracteres (l=6) que contengan al menos una letra mayúscula, una letra minúscula, un dígito y un carácter especial. Puede obtener más información sobre el parámetro "m" en la sección sobre el uso mínimo de clases de caracteres. Allí también descubrirás cómo puede establecer números mínimos individuales para clases de caracteres individuales.
Puede especificar qué caracteres se utilizan para las clases de caracteres individuales en la configuración del programa a través de la interfaz gráfica de usuario. Si luego se guardan como configuraciones de inicio, sus configuraciones también se usarán automáticamente en el modo por lotes. Alternativamente, puede definir los caracteres para las clases de caracteres también directamente usando parámetros (como veremos en la siguiente sección) o puede especificar las definiciones a través de archivos de configuración (que veremos en la penúltima sección de este tutorial).
Influir en los Caracteres de las Clases de Caracteres
De forma predeterminada, las clases de caracteres contienen los caracteres que puede encontrar en la configuración del generador de contraseñas. Esto significa, por ejemplo, que si selecciona la clase de caracteres "letras mayúsculas" usando el parámetro "c=u", (sin realizar modificaciones adicionales en la configuración), su contraseña estará compuesta por las letras de la "A" a la "Z", o si selecciona tanto la clase de caracteres "letras minúsculas" como la clase "dígitos" usando "c=ld", las letras de la "a" a la "z" y los números del 0 al 9 se utilizarán para generar su contraseña.
Como ya se mencionó en la última sección, una forma de cambiar el conjunto de caracteres predeterminado es establecer la configuración de inicio del generador de contraseñas a través de la interfaz gráfica de usuario o pasar archivos de configuración como parámetro. Otra posibilidad es definir los juegos de caracteres directamente mediante los parámetros "cu" (letras mayúsculas para "characters uppercase"), "cl" (letras minúsculas para "characters lowercase"), "cd" (dígitos para "characters digits") así como "cs" (caracteres especiales para "characters special"). Nos gustaría ver cómo funciona esto a continuación.
PasswordGenerator -cl l=8 c=uld cu=ABC cl=abc cd=123
Con esta línea creamos una contraseña que consta de ocho caracteres (l=8). Como clases de caracteres hemos seleccionado letras mayúsculas (u), así como letras minúsculas (l) y dígitos (d) usando "c=uld". Además, hemos definido cada una de estas tres clases de caracteres con tres caracteres cada una. Como letras mayúsculas sólo se deben utilizar las letras A, B y C (cu=ABC), como letras minúsculas sólo las letras a, b y c (cl=abc) y como dígitos los números 1, 2 y 3 (cd=123).
Qué clases de caracteres definimos y qué caracteres incluye nuestra definición en última instancia depende totalmente de nosotros. Somos completamente libres y por lo tanto ni siquiera estamos atados al hecho de que el nombre de la clase de caracteres coincida con los caracteres definidos:
PasswordGenerator -cl l=12 c=ulds cs=Aa
Como ejemplo, aquí queremos generar una contraseña con doce caracteres y usar "c=ulds" para especificar que esta contraseña debe contener caracteres de todas las clases de caracteres. Sin embargo, sólo damos una definición de la clase de caracteres "Caracteres especiales" usando "cs=Aa", de modo que la configuración estándar se aplicará para las otras tres clases de caracteres "letras mayúsculas", "letras minúsculas" y "números". Nuestra definición con "A" y "a" tampoco contiene ningún carácter especial, sino una letra mayúscula y una letra minúscula, que en realidad pertenecerían a otras clases. Podemos utilizar este enfoque, que parece paradójico a primera vista, para ponderar la frecuencia de diferentes caracteres de manera diferente, como veremos más adelante.
En nuestros ejemplos hasta ahora, hemos mantenido deliberadamente breves las definiciones de los caracteres para que los ejemplos sigan siendo claros. Eso sí, en la práctica definiríamos muchos más caracteres para conseguir una contraseña más segura. Para que no tengamos que definir cada carácter individualmente, lo que puede hacer que las definiciones sean confusamente largas, el generador de contraseñas nos ofrece alternativamente la opción de definir caracteres usando rangos de puntos de código Unicode:
PasswordGenerator -cl l=8 c=uld cu=65-90 cl=97-122 cd=48-57 u=1
Indicamos que el generador de contraseñas debe interpretar nuestra información como puntos de código usando el parámetro "u=1". Si en su lugar escribe "u=0" o omite este parámetro por completo, los caracteres se adoptarán como tales.
En nuestro ejemplo, creamos una contraseña con una longitud de ocho caracteres (l=8), que debe crearse a partir de las clases de caracteres mayúsculas, minúsculas y números (c=uld). Cada una de estas tres clases de caracteres las hemos definido usando rangos de puntos de código decimales: las letras mayúsculas a través de los puntos de código 65 a 90, que corresponden a los caracteres de la "A" a la "Z", las letras minúsculas usando los puntos de código 97 a 122, que corresponden a los caracteres de la "a" a la "z", y los dígitos que usan los puntos de código 48 a 57, que corresponden a los caracteres 0 a 9.
Además de esta notación decimal, los puntos de código también se pueden especificar en forma hexadecimal. Por lo tanto, la letra "A" se puede especificar tanto en decimal como "66" como en hexadecimal en una de las formas #41, 0x41 o U+0041. Además de los puntos de código individuales y los rangos que acabamos de ver, también es posible utilizar enumeraciones de varios puntos o rangos de código:
PasswordGenerator -cl l=10 c=s cs=65-90,#61-#7A,U+0021 u=1
En este ejemplo, hemos definido la clase de caracteres "Caracteres Especiales" utilizando una combinación de notaciones diferentes. La clase de caracteres aquí contiene las letras de la "A" a la "Z" (definidas a través de sus puntos de código decimal 65 a 90), las letras de la "a" a la "z" (definidas a través de sus puntos de código hexadecimal #61 a #7A), así como el signo de exclamación, que se definió como un solo carácter a través de su punto de código U+0021. Usando este juego de caracteres (c=s), creamos contraseñas con diez caracteres (l=10) al ejecutar esta línea. Si hubiéramos omitido "u=1" (interpretación como puntos de código), las contraseñas se habrían creado a partir de todos los caracteres enumerados aquí individualmente, como "6", "5", "-", "9" y así sucesivamente, ya que los caracteres se habrían interpretado como tales y no como puntos de código. Para mezclar puntos de código y caracteres como tales dentro de una definición, puede encerrar entre comillas los caracteres que deben interpretarse como tales dentro de la colección.
Influir en el Uso Mínimo de las Clases de Caracteres
Incluso si utiliza el parámetro "c=ulds" para especificar que caracteres de todas las clases de caracteres pueden aparecer en la contraseña generada, el azar aún puede llevar a que aparezcan caracteres de individual o incluso solo de una sola clase de caracteres en su contraseña. Sólo con este parámetro, los caracteres de todas las clases de caracteres se arrojan a un recipiente grande, del que luego se extraen aleatoriamente los caracteres para su contraseña. Y estos pueden ser sólo los caracteres de una determinada clase, especialmente si las otras clases de caracteres contienen significativamente menos caracteres que esta clase. Esto ni siquiera tiene por qué aplicarse exclusivamente a clases de caracteres autodefinidas de tamaño pequeño, porque también el tesoro de las letras es significativamente mayor que el de los números.
Si no quiere dejar al azar si cada clase de carácter estará representada en su contraseña, puede controlar la presencia de todas las clases de caracteres a través del parámetro "m" y sus parientes:
PasswordGenerator -cl l=8 c=ulds m=1
Con este comando creamos una contraseña de ocho caracteres (l=8), que debe generarse a partir de todas las clases de caracteres (c=ulds) y debe contener al menos un carácter de cada una de estas clases de caracteres (m=1). La "m" significa "mínimo" y puede definir cualquier número mínimo. Sólo debe asegurarle de que este número mínimo no contradiga los demás parámetros.
PasswordGenerator -cl l=15 c=uld m=5
En este ejemplo, con "m=5", exigimos un total de cinco caracteres tomados de cada una de las tres clases de caracteres disponibles para uso ("c=uld"). Para cumplir con este requisito, nuestra contraseña debe tener una longitud mínima de 15 caracteres (como se define exactamente aquí con "l=15"). De lo contrario, no sería posible acomodar cinco caracteres de tres clases de caracteres en contraseñas más cortas.
El parámetro "m" siempre se refiere a todas las clases de caracteres por igual. Además de este parámetro de número mínimo general, hay otros cuatro parámetros adicionales con los que puede controlar el número mínimo de cada una de las clases de caracteres individuales individualmente. Estos son los parámetros "mu" (para "min uppercase" - mínimo de mayúsculas), "ml" (para "min lowercase" - mínimo de minúsculas), "md" (para "min digits" - mínimo de dígitos) y "ms" (para "min special characters" - mínimo de caracteres especiales). Estos parámetros se pueden utilizar individualmente o en combinación con "m".
PasswordGenerator -cl l=9 c=uld mu=3 ml=3 md=1
Aquí utilizamos los parámetros individualmente. Creamos una contraseña con nueve caracteres (l=9) formada por letras mayúsculas, minúsculas y dígitos (c=uld). Para compensar el hecho de que el número de dígitos (0 a 9) es casi tres veces menor que el número de letras (A a Z y a a z), determinamos que tanto las letras mayúsculas (mu=3) como las minúsculas (ml=3) deben aparecer un mínimo de tres veces en nuestra contraseña, pero los dígitos solo deben aparecer un mínimo de una vez. Esto reduce la posible sobrerrepresentación de los mismos dígitos.
Exactamente el mismo resultado, lo conseguiríamos también con la siguiente línea:
PasswordGenerator -cl l=9 c=uld m=3 md=1
Aquí hemos reemplazado los parámetros "mu=3" y "ml=3" por "m=3". Esto significa que el parámetro general "m=3" establece inicialmente el número mínimo para todas las clases de caracteres en "3", que luego se sobrescribe con "md=1" sólo para los dígitos. Combinando los parámetros generales con los específicos podemos guardar hasta dos parámetros, como vemos en el siguiente ejemplo, donde en lugar de los 19 caracteres "mu=1 ml=1 md=1 ms=0" solo los 8 caracteres "m=1 ms=0" son suficientes para el mismo resultado:
PasswordGenerator -cl l=6 c=ulds m=1 ms=0
Una peculiaridad aquí es el parámetro "ms=0", lo que no significa que los caracteres especiales no deban aparecer en la contraseña en absoluto, sino sólo que el número mínimo de caracteres especiales se establece en 0. En otras palabras, se permite que aparezcan caracteres especiales en la contraseña (si la casualidad lo permite), pero no es necesario porque no hay ningún requisito mínimo. Con esta línea creamos una contraseña de seis caracteres (l=6), que se genera a partir de todas las clases de caracteres (c=ulds). Luego, inicialmente requerimos un número mínimo general de un carácter por clase de carácter (m=1), pero luego revisamos este requisito solo para los caracteres especiales (ms=0).
Antes de la introducción de la familia de parámetros "m", el parámetro "a" asumía un papel similar. Con "a=1" era posible forzar que al menos un carácter de cada clase de caracteres deseada apareciera en la contraseña ("a" significa "all" - todos). Con la introducción del mucho más flexible parámetro "m", con el que se podía especificar un número exacto de los caracteres necesarios de cada clase de caracteres (y no sólo "al menos uno" como en el caso del parámetro "a"), el parámetro "a" perdió su significado. Sin embargo, este parámetro todavía se admite actualmente, pero se ha degradado al estado "obsoleto" y, por lo tanto, debería reemplazarse en el futuro por "m=1", que tiene exactamente el mismo significado.
Caracteres únicos, similares y adyacentes
Como sabrá por la interfaz gráfica de usuario del generador de contraseñas, hay tres opciones adicionales disponibles para la generación de contraseñas que no hemos visto hasta ahora. Esas opciones también están disponibles a través de parámetros via del control de script, que nos gustaría ver en los siguientes tres ejemplos.
PasswordGenerator -cl l=25 o=1
Con esta línea queremos crear una contraseña de 25 caracteres. Generar una contraseña de esta longitud puede hacer que rápidamente aparezcan caracteres individuales dos veces o incluso más a menudo en la contraseña. Si no queremos esto, podemos usar el parámetro "o=1" para asegurarnos de que cada carácter sólo pueda usarse una vez (la "o" significa "only once"). Al igual que con los parámetros para la cantidad mínima de caracteres a usar de las clases de caracteres, también cuando usamos este parámetro, debemos asegurarnos de que la cantidad de caracteres disponibles sea suficiente para la longitud de nuestra contraseña, incluso si cada uno solo se puede usar una vez.
PasswordGenerator -cl l=6 es=1
Con esta línea creamos una contraseña de sólo seis caracteres y le pasamos el parámetro "es=1". La "es" significa "excluir similar" ("exclude similar") y garantiza que se excluyan caracteres de apariencia similar como O, 0, 1, I o l. Esta función puede resultar útil para evitar malentendidos al escribir la contraseña, por ejemplo si se debe pasar la contraseña en forma impresa. Sin este parámetro simplificador, las propias clases de caracteres tendrían que redefinirse laboriosamente. Esto significa que los caracteres de apariencia similar no necesitan eliminarse adicionalmente de las clases de caracteres relevantes - basta con usar este parámetro.
PasswordGenerator -cl l=10 ri=1
La última opción que nos gustaría introducir en esta sección es el parámetro "ri=1", que significa "reducir idénticos" ("reduce identicals"). En concreto, este parámetro reduce la probabilidad de que aparezcan dos caracteres idénticos uno detrás del otro en la contraseña creada (lo que de todos modos no puede ocurrir cuando se utiliza el parámetro "o=1" que hemos visto al principio de este apartado).
De lo contrario - incluso si deliberadamente hemos mantenido breves los ejemplos en esta sección para mayor claridad - los parámetros aquí presentados también se pueden combinar libremente con todos los demás parámetros que se han introducido hasta ahora en este tutorial.
Cargar Archivos de Configuración
Los ajustes que ha realizado a través de la interfaz gráfica de usuario del Password Generator se pueden guardar a través de Configuración > Guardar como archivo en formato *.pgs (Password Generator Settings). Además de la longitud y las clases de caracteres utilizadas, también puede definir, por ejemplo, qué caracteres deben pertenecer a qué clase de caracteres.
Para utilizar estos archivos de configuración en modo por lotes, solo deben pasarse como parámetros de la siguiente manera:
PasswortGenerator -cl config.pgs
Si el archivo de configuración no se encuentra en el mismo directorio que el archivo del programa, también debe especificarse la ruta al archivo:
PasswortGenerator -cl c:\ordner\config.pgs
Los archivos de configuración se pueden utilizar libremente con cualquier otro parámetro:
PasswortGenerator -cl config.pgs l=20 c=ds
Se aplica lo siguiente: Primero, se cargan las configuraciones predeterminadas del Password Generator. Si está disponible, estos se sobrescribirán con la configuración de inicio. Estos, a su vez, se sobrescriben con los archivos de configuración que se hayan pasado (los archivos de configuración también pueden contener solo partes de las configuraciones posibles). Por último, los ajustes se sobrescriben con los parámetros. Los parámetros siempre tienen la máxima prioridad.
Resumen de todos los Parámetros disponibles
En resumen, la siguiente tabla proporciona una descripción general de todos los parámetros disponibles que puede utilizar en el modo por lotes del Password Generator.
| Parámetro | Predeterminado | Default | Descripción |
| l | números > 0 | establecimiento estándar del programa | Longitud deseada de la contraseña. Por ejemplo, puede usar l=10 para crear una contraseña de 10 caracteres. |
| c | u, l, d, s - libremente combinable | establecimiento estándar del programa | Clases de caracteres deseadas para la contraseña. Las letras individuales representan letras mayúsculas (u), minúsculas (l), dígitos (d) y caracteres especiales (s) y pueden combinarse libremente entre sí. Por ejemplo, puede usar c=ulds para contraseñas compuestas por todas las clases de caracteres, c=ul para contraseñas con letras mayúsculas y minúsculas, o c=d para contraseñas que solo constan de dígitos. |
| cu | cualquier caracteres | establecimiento estándar del programa | Definición de los caracteres para la clase de caracteres "mayúsculas" (characters uppercase). Por ejemplo, con "cu=ABC" las letras "A", "B" y "C" se utilizan como "mayúsculas". Alternativamente, si este parámetro se combina con "u=1", los caracteres también se pueden definir utilizando sus puntos de código Unicode. |
| cl | cualquier caracteres | establecimiento estándar del programa | Definición de los caracteres para la clase de caracteres "minúsculas" (characters lowercase). Por ejemplo, con "cl=abc" las letras "a", "b" y "c" se utilizan como "letras minúsculas". Alternativamente, si este parámetro se combina con "u=1", los caracteres también se pueden definir utilizando sus puntos de código Unicode. |
| cd | cualquier caracteres | establecimiento estándar del programa | Definición de los caracteres para la clase de caracteres "dígitos" (characters digits). Por ejemplo, con "cd=123" los dígitos "1", "2" y "3" se utilizan como "dígitos". Alternativamente, si este parámetro se combina con "u=1", los caracteres también se pueden definir utilizando sus puntos de código Unicode. |
| cs | cualquier caracteres | establecimiento estándar del programa | Definición de los caracteres para la clase de caracteres "caracteres especiales" (characters special). Con "cs=!?", por ejemplo, los caracteres "!" y "?" se utilizan como "caracteres especiales". Alternativamente, si este parámetro se combina con "u=1", los caracteres también se pueden definir utilizando sus puntos de código Unicode. |
| u | 0 o 1 | 0 | Con "u=1", las clases de caracteres definidas por "cu", "cl", "cd" y "cs" se interpretan como Puntos de Código Unicode. La especificación se puede realizar en forma de puntos de códigos individuales (por ejemplo, 66, #41, 0x41 o U+0041 para "A"), como un rango (por ejemplo, 66-68 para "ABC") o como una lista de varios puntos o rangos de código (por ejemplo, #41,#42,#44-#46 para "ABDEF"). |
| m | cualquier numero | establecimiento estándar del programa | Número mínimo de caracteres que se utilizarán de cada clase de caracteres para la contraseña. Por ejemplo, "m=2" para utilizar al menos dos caracteres de cada clase de caracteres seleccionada para la contraseña. El número mínimo general especificado por este parámetro se puede anular para clases de caracteres individuales utilizando los parámetros "ml", "mu", "md" y "ms". |
| mu | cualquier numero | número definido mediante el parámetro “m” | Número mínimo de letras mayúsculas (min uppercase) que se utilizarán para la contraseña. Anula el valor especificado por el parámetro "m". |
| ml | cualquier numero | número definido mediante el parámetro “m” | Número mínimo de letras minúsculas (min lowercase) que se utilizarán para la contraseña. Anula el valor especificado por el parámetro "m". |
| md | cualquier numero | número definido mediante el parámetro “m” | Número mínimo de dígitos (min digits) que se utilizarán para la contraseña. Anula el valor especificado por el parámetro "m". |
| ms | cualquier numero | número definido mediante el parámetro “m” | Número mínimo de caracteres especiales (min special chars) que se utilizarán para la contraseña. Anula el valor especificado por el parámetro "m". |
| a | 0 o 1 | establecimiento estándar del programa | ¿Debería usarse al menos un carácter de cada clase de carácter especificada para cada contraseña? Sí (1) o No (0). Este parámetro está clasificado como "obsoleto". En su lugar, ahora utilice el parámetro "m" en el formato "m=1". |
| o | 0 o 1 | establecimiento estándar del programa | ¿Debería cada caracter usarse solo una vez (only once) como máximo? Sí (1) o No (0). |
| es | 0 o 1 | establecimiento estándar del programa | ¿Deberían excluirse los caracteres de apariencia similar como O, 0, 1, I o l (exclude similar, excluir similares)? Sí (1) o No (0). |
| ri | 0 o 1 | establecimiento estándar del programa | ¿Debería reducirse la probabilidad de que aparezcan dos caracteres idénticos seguidos (reduce identicals, reducir idénticos)? Sí (1) o No (0). |
| [Archivos] | archivos de configuración con la extensión PGS | establecimiento estándar del programa | Archivo de configuración que se puede crear con el Password Generator y que puede contener todas las configuraciones, incluidos los caracteres utilizados para las clases de caracteres individuales. |
Todos los parámetros disponibles se pueden combinar entre sí según sea necesario. Los parámetros individuales como l, c y así sucesivamente tienen mayor prioridad que los posibles archivos de configuración.