Как сгенерировать случайную строку в Bash

Случайная строка представляет собой серию буквенно-цифровых символов, которые не имеют определенного образца. Хотя абсолютной случайной строки не существует, поскольку для ее генерации используется математическая логика, случайные строки могут быть уникальными.

В этом учебнике мы рассмотрим различные способы генерации случайных строк в bash. Эта функциональность может быть полезна при создании имен пользователей, паролей или начальных данных.

Метод 1: md5 Hash

Самый первый метод, который мы можем использовать для генерации случайной строки в bash, - это контрольная сумма md5. В Bash есть переменная $RANDOM, которая генерирует случайное число. Мы можем передать это значение в md5sum, чтобы получить случайную строку.

Для примера:

Переменная $RANDOM всегда случайна. В результате контрольная сумма md5 всегда случайна.

генерация случайно строки md5 Hash

Метод 2: UUID

Вы также можете использовать генератор UUID ядра в /proc/sys/kernel/random/uuid. Это даст вам уникальное шестнадцатеричное значение, которое вы можете преобразовать в случайную строку с помощью команд sed и head:

Например:

Генерация случайно строки UUID

Метод 3: Псевдоустройства

Вы слышали фразу: "Все в Linux - это файл". Одной из концепций, которая делает это утверждение верным, является возможность выражать устройства в виде файлов.

Файлы, расположенные в каталоге /dev, известны как псевдоустройства; они служат мостом между ядром и аппаратным обеспечением. Одним из файлов в этом каталоге является файл uradom.

Файл urandom предоставляет интерфейс для доступа к генератору случайных чисел ядра. Следовательно, мы можем использовать его для генерации случайной строки, как показано ниже:

Мы передаем вывод urandom в tr, который генерирует буквенно-цифровые значения, а затем складывает их по ширине до 20 символов. Наконец, мы получаем одну выстроенную строку с помощью head -n.

Чтобы получить сразу несколько значений, измените значение параметра head -n на необходимое количество строк.

Генерация с использованием /dev/urandom

Метод 4: Base64

Вы также можете использовать утилиту base64 для генерации случайной строки. Например, используя переменную $RANDOM, мы можем сделать следующее:

Генерация случайно строки с использованием Base64

Метод 5: Псевдослучайные байты OpenSSL

Команда OpenSSL rand позволяет генерировать случайные байты на основе указанного типа. Эти типы включают значения base63 и hex.

Например:

openssl rand -hex 20

Или используйте base64:

openssl rand -base64 21

Заключение

В заключение, bash предоставляет различные утилиты, которые вы можете использовать для генерации случайных строк. Поэтому все, что вам нужно сделать, это комбинировать различные инструменты и разработать умный способ получения случайных строк, который соответствует вашим потребностям.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий