Come generare stringa casuale in bash

Come generare stringa casuale in bash
Una stringa casuale rappresenta una serie di caratteri alfanumerici che non hanno un modello particolare. Sebbene non esista una stringa casuale assoluta perché la loro generazione utilizza la logica matematica, le stringhe casuali possono essere uniche.

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;
996E405CB0CDD2E10299

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;
C23174CE6FA149498FC7

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 1
QGSWSBBUSUZTUEKXHUHU

Perviamo 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 5
Pozxntvftnqqjzgjfwou
Razpkkdcwivzaxacramu
Bldzwyuiywzpfnmimetl
Cxvfkmaogbezyslqzoro
Yoxtcglzxdnoezomwmfa

Metodo 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; eco
Mtm2odek

Metodo 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 20
1DBA62137447861B2B2EB81E5886FA98D021007B

O utilizzare Base64 come:

OpenSSL RAND -Base64 21
I05HHQUEAJBzczerx/ftptjh4xyud

Conclusione

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.