En este tutorial, veremos varias formas en que podemos generar cuerdas aleatorias en Bash. Esta funcionalidad puede ser útil al crear nombres de usuario, contraseñas o datos de semillas.
Método 1: hash MD5
El primer método que podemos usar para generar una cadena aleatoria en Bash es MD5 SUMS. Bash tiene la variable $ aleatoria, que produce un número aleatorio. Podemos llevar este valor a MD5SUM para obtener una cadena aleatoria.
Para ilustrar:
Echo $ Random | MD5SUM | cabeza -c 20; eco;La variable $ aleatoria siempre es aleatoria. Como resultado, la suma de verificación MD5 produce siempre al azar.
Método 2: UUID
También puede usar el generador de uuid del kernel en/proc/sys/kernel/random/uuid. Esto le dará un valor hexadecimal único que puede convertir a una cadena aleatoria usando el comando SED y la cabeza:
Por ejemplo:
Cat/Proc/Sys/Kernel/Random/Uuid | sed 's/[-] // g' | cabeza -c 20; eco;Método 3: Pseudo dispositivos
Has escuchado la frase: “Todo en Linux es un archivo."Uno de los conceptos que hacen que esta declaración sea verdadera es la capacidad de expresar dispositivos como archivos.
Los archivos ubicados en /dev se conocen como dispositivos pseudo; actúan como puentes entre el núcleo y el hardware. Uno de los archivos en este directorio es el archivo uradom.
El archivo urandom proporciona una interfaz para acceder al generador de números aleatorios del kernel. Por lo tanto, podemos usarla para generar una cadena aleatoria como se ilustra a continuación:
Cat /dev /urandom | tr -dc '[: alfa:]' | pliegue -w $ 1: -20 | cabeza -n 1Encontramos la salida de Urandom a TR, que genera valores alfanuméricos y luego dobla los valores al ancho de hasta 20 caracteres. Finalmente, obtenemos una cadena forrada con cabeza -n.
Para obtener múltiples valores a la vez, cambie el valor de Head -N a la cantidad de líneas requeridas.
Cat /dev /urandom | tr -dc '[: alfa:]' | pliegue -w $ 1: -20 | cabeza -n 5Método 4: Base64
También puede usar la utilidad base64 para generar una cadena aleatoria. Por ejemplo, usando la variable $ aleatoria, podemos hacer:
Echo $ Random | base64 | cabeza -c 20; ecoMétodo 5: OpenSSL Pseudo Random Bytes
El comando OpenSSL RAND le permite generar bytes aleatorios basados en el tipo especificado. Estos tipos incluyen valores base63 y hexadecimales.
Por ejemplo:
openssl rand -hex 20O use base64 como:
Openssl Rand -Base64 21Conclusión
Para terminar, Bash proporciona varias utilidades que puede usar para generar cadenas aleatorias. Por lo tanto, todo lo que necesita hacer es combinar varias herramientas y desarrollar una forma inteligente de obtener cadenas aleatorias que se adapten a sus necesidades.