Generador de passwords complejas en bash.
En este mini tutorial y siguiendo la linea de nuestros artículos sobre «scripts bash«, vamos a ver un sencillo script (uno no, mejor dos) totalmente personalizable, con el que podrás…
generar contraseñas complejas.
A modo de ejemplo crearemos dos scripts:
- Primer script: generamos una password que se imprimirá en pantalla.
- Segundo script: generamos un script que desglosara la construcción de la contraseña.
Todos conocemos bash, así que vamos a ello.
Generador de passwords complejas
Creamos el primer script:
nano mipass.sh
Copia y pega lo siguiente (modifica según los apuntes):
#!/bin/bash # #Password generator for Bash # ## Puedes agregar o quitar caracteres. MATRIX="01234!·$%56789&/ABCDEFGH?¿IJKLMNOPQR=ÇSTUVWXYZ@#\€abcdefg~¬hijklmnopq€rstuvwxyz" ##> Modifica 'LENGTH' si quieres cambiar el tamaño de la pass. LENGTH="16" while [ "${n:=1}" -le "$LENGTH" ] ## “:=” es el operador sustituto predeterminado, si funciona no lo deberías modificar. do PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}" let n+=1 done echo "<------------------------------->" echo "La password es: $PASS" echo "<------------------------------->" exit 0
Guarda el script y cierra el editor.
Lo ejecutamos:
bash mipass.sh
algunos ejemplos de salida…
sololinux:/ # bash mipass.sh
<—————————————->
La password es: reN6S4K16dGkujqz
<—————————————->
sololinux:/ # bash mipass.sh
<———————————————>
La password es: M3wHH%xGu&O!VZ#t
<———————————————>
sololinux:/ # bash mipass.sh
<—————————————->
La password es: KiLjJHoLemPI$·?Q
<—————————————->
El segundo script, vendría a ser un involución del primero. Conseguiremos llegar a el mismo resultado que el anterior, pero con la diferencia de que nos imprimirá en pantalla la evolución que sigue el script para crear la password.
Creamos el segundo:
nano mipass2.sh
Copia y pega lo siguiente (modifica según los apuntes):
#!/bin/bash # #Password generator for Bash # # ## Puedes agregar o quitar caracteres. MATRIX="01234!·$%56789&/ABCDEFGH?¿IJKLMNOPQR=ÇSTUVWXYZ@#\€abcdefg~¬hijklmnopq€rstuvwxyz" ##> Modifica 'LENGTH' si quieres cambiar el tamaño de la pass. LENGTH="16" while [ "${n:=1}" -le "$LENGTH" ] ## “:=” es el operador sustituto predeterminado, si funciona no lo deberías modificar. do PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}" echo "$PASS" let n+=1 done exit 0
Guarda el script y cierra el editor.
Lo ejecutamos:
bash mipass2.sh
algunos ejemplos de salida…
sololinux:/ # bash mipass2.sh
k
kj
kj5
kj5X
kj5Xo
kj5Xo8
kj5Xo8€
kj5Xo8€¿
kj5Xo8€¿N
kj5Xo8€¿Nk
kj5Xo8€¿NkO
kj5Xo8€¿NkO8
kj5Xo8€¿NkO8E
kj5Xo8€¿NkO8E0
kj5Xo8€¿NkO8E0x
kj5Xo8€¿NkO8E0xG
sololinux:/ # bash mipass2.sh
k
kn
knf
knfp
knfps
knfpst
knfpstx
knfpstx~
knfpstx~a
knfpstx~a#
knfpstx~a#!
knfpstx~a#!A
knfpstx~a#!A@
knfpstx~a#!A@z
knfpstx~a#!A@zI
knfpstx~a#!A@zIW
sololinux:/ #
Espero te sean útiles para fortalecer tus contraseñas.
Comparte el articulo.