Как получить криптографически надежный 32-битный генератор случайных чисел в ZSH

srandom() { zmodload zsh/system; local byte; local -i rnd=0; repeat 4; do sysread -s 1 byte || return; rnd=$(( rnd << 8 | #byte )); done < /dev/urandom; print -r -- $rnd; }


Команда srandom() в ZSH используется для генерации криптографически надежных случайных чисел. Она использует модуль zsh/system для загрузки системных функций и читает 4 случайных байта из /dev/urandom. Затем эти байты объединяются в 32-битное случайное число. Результат выводится на экран с помощью команды print -r.

Эта команда полезна, если вам требуется надежный генератор случайных чисел в сценариях ZSH. Однако, учтите, что в ZSH уже есть встроенная переменная $RANDOM, которая предоставляет псевдослучайное число от 0 до 32767. Если вам не требуется криптографическая надежность, вы можете использовать эту переменную вместо команды srandom().

Ответить

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