So generieren Sie zufällige Zeichenfolge in Bash

So generieren Sie zufällige Zeichenfolge in Bash
Eine zufällige Zeichenfolge repräsentiert eine Reihe alphanumerischer Zeichen, die kein bestimmtes Muster haben. Obwohl es keine absolute zufällige Zeichenfolge gibt, da ihre Generation mathematische Logik verwendet, können zufällige Zeichenfolgen eindeutig sein.

In diesem Tutorial werden wir verschiedene Möglichkeiten betrachten, wie wir zufällige Zeichenfolgen in Bash erzeugen können. Diese Funktionalität kann beim Erstellen von Benutzernamen, Kennwörtern oder Saatgutdaten nützlich sein.

Methode 1: MD5 Hash

Die allererste Methode, mit der wir eine zufällige Zeichenfolge in Bash generieren können, sind MD5 -Prüfsummen. Bash hat die $ Random -Variable, die eine Zufallszahl erzeugt. Wir können diesen Wert auf MD5SUM leiten, um eine zufällige Zeichenfolge zu erhalten.

Um zu veranschaulichen:

echo $ random | md5sum | Kopf -C 20; Echo;
996E405CB0CDD2E10299

Die $ -zufällige Variable ist immer zufällig. Infolgedessen ist die MD5 -Prüfsumme immer zufällig.

Methode 2: UUID

Sie können auch den Kernel UUID -Generator in/proc/sys/kernel/random/uUid verwenden. Auf diese Weise erhalten Sie einen einzigartigen hexadezimalen Wert, den Sie mit dem Befehl SED und Kopf in eine zufällige Zeichenfolge konvertieren können:

Zum Beispiel:

Katze/Proc/sys/kernel/random/uUid | sed 's/[-] // g' | Kopf -C 20; Echo;
C23174CE6FA149498FC7

Methode 3: Pseudo -Geräte

Sie haben den Ausdruck gehört: „Alles unter Linux ist eine Datei.Eines der Konzepte, die diese Aussage wahr machen, ist die Fähigkeit, Geräte als Dateien auszudrücken.

Dateien, die sich in /dev befinden, werden als Pseudo -Geräte bezeichnet. Sie dienen als Brücken zwischen dem Kernel und der Hardware. Eine der Dateien in diesem Verzeichnis ist die Uradom -Datei.

Die Urandom -Datei bietet eine Schnittstelle zum Zugriff auf den Kernel -Zufallszahlengenerator. Daher können wir es verwenden, um eine zufällige Zeichenfolge zu generieren, wie unten dargestellt:

Cat /Dev /Urandom | tr -dc '[: alpha:]' | fold -W $ 1: -20 | Kopf -n 1
qgswsbbusuztuekxhihu

Wir leiten die Ausgabe von Urandom nach TR, was alphanumerische Werte erzeugt und dann die Werte auf die Breite von bis zu 20 Zeichen faltet. Schließlich bekommen wir eine ausgekleidete Schnur mit Kopf -n.

Ändern Sie den Wert von Head -n auf die Anzahl der erforderlichen Zeilen, um mehrere Werte gleichzeitig zu erhalten.

Cat /Dev /Urandom | tr -dc '[: alpha:]' | fold -W $ 1: -20 | Kopf -n 5
Pozxntvftnqqjzgjfwou
Razpkkdcwivzaxacramu
BLDZWYUIYWZPFNMIMETL
Cxvfkmaogbezyslqzoro
Yoxtcglzxdnoezomwmfa

Methode 4: Base64

Sie können auch das Dienstprogramm Base64 verwenden, um eine zufällige Zeichenfolge zu generieren. Beispielsweise können wir die Verwendung der $ Random -Variablen tun:

echo $ random | Base64 | Kopf -C 20; Echo
Mtm2odek

Methode 5: OpenSSL Pseudo -Zufällige Bytes

Mit dem OpenSSL Rand -Befehl können Sie zufällige Bytes basierend auf dem angegebenen Typ generieren. Diese Typen umfassen Base63- und Hex -Werte.

Zum Beispiel:

OpenSSL Rand -hex 20
1DBA62137447861B2EB81E5886FA98D021007B

Oder verwenden Sie Base64 als:

OpenSSL Rand -base64 21
I05HHQEAJBZCZZERX/FTPTJH4XYUD

Abschluss

Abschließend bietet Bash verschiedene Dienstprogramme, mit denen Sie zufällige Zeichenfolgen generieren können. Daher müssen Sie nur verschiedene Tools kombinieren und einen cleveren Weg entwickeln, um zufällige Zeichenfolgen zu erhalten, die Ihren Anforderungen entsprechen.