Как получить 64 байта случайных цифр из случайных строк из /dev/random и отправить их на stdio

cat /dev/urandom|od -t x1|awk 'NR > line { pos=int(rand()*15)+2;printf("%s",$pos);line=NR+(rand()*1000);digits = digits+2 } digits == 64 { print("\n");exit }'


Команда «cat /dev/urandom» используется для открытия устройства /dev/urandom, которое предоставляет случайные байты для чтения.

Затем пайп(|) перенаправляет вывод команды cat /dev/urandom в команду «od -t x1», которая отображает содержимое в шестнадцатеричном формате.

Команда «awk ‘nr > line { pos=int(rand()*15)+2;printf(«%s»,$pos);line=nr+(rand()*1000);digits = digits+2 } digits == 64 { print(«\n»);exit }'» используется для обработки вывода команды od и получения 64 случайных байт.

Эта команда выбирает случайный символ из каждой строки и выводит его. Она также обрабатывает аргументы, передаваемые команде, включая «line» — номер строки, с которой должно начинаться получение символов, «pos» — позицию случайного символа в строке, «digits» — количество выведенных символов.

Команда может быть полезна для генерации случайных данных, например, для создания паролей или ключей шифрования. Альтернативой может быть использование другой команды или программы для генерации случайных данных, таких как OpenSSL’s «rand» или Python’s «random» модуль.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *