In questo tutorial, vedremo vari modi in cui possiamo generare stringhe casuali in bash. Questa funzionalità può essere utile quando si creano nomi utente, password o dati di seme.
Metodo 1: hash MD5
Il primo metodo che possiamo usare per generare una stringa casuale in bash è checksums md5. Bash ha la variabile $ casuali $, che produce un numero casuale. Possiamo emettere questo valore su md5sum per ottenere una stringa casuale.
Illustrare:
Echo $ Random | md5sum | head -c 20; eco;La variabile $ casuali è sempre casuale. Di conseguenza, il checksum MD5 è sempre casuale.
Metodo 2: uuid
È inoltre possibile utilizzare il generatore Uuid del kernel in/proc/sys/kernel/casual/uuid. Questo ti darà un valore esadecimale unico che puoi convertire in una stringa casuale usando il comando SED e HEAD:
Per esempio:
Cat/Proc/Sys/Kernel/Random/Uuid | sed 's/[-] // g' | head -c 20; eco;Metodo 3: dispositivi pseudo
Hai sentito la frase: “Tutto in Linux è un file."Uno dei concetti che rendono vero questa affermazione è la capacità di esprimere i dispositivi come file.
I file situati in /dev sono noti come dispositivi pseudo; Agiscono come ponti tra il kernel e l'hardware. Uno dei file in questa directory è il file uradom.
Il file Urandom fornisce un'interfaccia per accedere al generatore di numeri casuali del kernel. Quindi, possiamo usarlo per generare una stringa casuale come illustrato di seguito:
Cat /Dev /Urandom | tr -dc '[: alpha:]' | Fold -w $ 1: -20 | testa -n 1Perviamo l'uscita di Urandom su TR, che genera valori alfanumerici e quindi piega i valori alla larghezza fino a 20 caratteri. Infine, otteniamo una corda foderata con la testa -N.
Per ottenere più valori contemporaneamente, modificare il valore della testa -n al numero di linee richieste.
Cat /Dev /Urandom | tr -dc '[: alpha:]' | Fold -w $ 1: -20 | testa -n 5Metodo 4: base64
È inoltre possibile utilizzare l'utilità Base64 per generare una stringa casuale. Ad esempio, usando la variabile $ casuali, possiamo fare:
Echo $ Random | base64 | head -c 20; ecoMetodo 5: byte casuali pseudo OpenSSL
Il comando OpenSSL RAND consente di generare byte casuali in base al tipo specificato. Questi tipi includono valori di base63 ed esadecimale.
Per esempio:
OpenSSL RAND -HEX 20O utilizzare Base64 come:
OpenSSL RAND -Base64 21Conclusione
In chiusura, Bash fornisce varie utility che puoi utilizzare per generare stringhe casuali. Pertanto, tutto ciò che devi fare è combinare vari strumenti e sviluppare un modo intelligente per ottenere stringhe casuali adatte alle tue esigenze.