W tym samouczku przyjrzymy się różnym sposobom generowania losowych strun w Bash. Ta funkcjonalność może być przydatna podczas tworzenia nazw użytkowników, haseł lub danych z nasion.
Metoda 1: Hash MD5
Pierwszą metodą, której możemy użyć do wygenerowania losowego ciągu w Bash, są SumsKes MD5. Bash ma zmienną $ losową, która wytwarza liczbę losową. Możemy przekazać tę wartość do MD5Sum, aby uzyskać losowy ciąg.
Ilustrować:
Echo $ losowe | MD5Sum | głowa -C 20; Echo;Zmienna $ losowa jest zawsze losowa. W rezultacie produkuje się suma kontrolna MD5.
Metoda 2: UUID
Możesz także użyć generatora jądra UUID w/proc/sys/jądro/random/uuid. To da ci unikalną wartość szesnastkową, którą możesz przekonwertować na losowy ciąg za pomocą polecenia SED i Head:
Na przykład:
cat/proc/sys/jądro/losowo/uuid | sed 's/[-] // g' | głowa -C 20; Echo;Metoda 3: Pseudo urządzenia
Słyszałeś frazę: „Wszystko w Linux to plik.„Jedną z koncepcji, które sprawiają, że to stwierdzenie jest prawdziwe, jest możliwość wyrażania urządzeń jako plików.
Pliki znajdujące się w /Dev są znane jako pseudo urządzenia; Działają jak mosty między jądrem a sprzętem. Jednym z plików w tym katalogu jest plik Uradom.
Plik Urandom zapewnia interfejs, aby uzyskać dostęp do generatora liczb losowych jądra. Dlatego możemy go użyć do wygenerowania losowego ciągu, jak pokazano poniżej:
Cat /Dev /Urandom | tr -dc '[: alpha:]' | Fold -w $ 1: -20 | głowa -n 1Prowadzimy moc moczową do TR, która generuje wartości alfanumeryczne, a następnie składa wartości do szerokości do 20 znaków. Na koniec otrzymujemy jeden sznurek z głową -N.
Aby uzyskać wiele wartości jednocześnie, zmień wartość głowy -n na liczbę wymaganych linii.
Cat /Dev /Urandom | tr -dc '[: alpha:]' | Fold -w $ 1: -20 | głowa -n 5Metoda 4: Base64
Możesz także użyć narzędzia Base64 do wygenerowania losowego ciągu. Na przykład, używając zmiennej $, możemy zrobić:
Echo $ losowe | Base64 | głowa -C 20; EchoMetoda 5: OpenSSL pseudo losowe bajty
Polecenie OpenSsl Rand umożliwia generowanie losowych bajtów na podstawie określonego typu. Te typy obejmują wartości Base63 i HEX.
Na przykład:
Openssl Rand -Hex 20Lub użyj Base64 jako:
OpenSsl Rand -Base64 21Wniosek
Na zakończenie Bash zapewnia różne narzędzia, których można użyć do generowania losowych ciągów. Dlatego wszystko, co musisz zrobić.