2016-05-06 10 views
0

Чтение через Ruby Doc 2.3.0, в котором описывается стратегия, используемая Ruby для генерации случайного числа./dev/urandom для генерации случайного числа + ruby ​​2.3.0

  • OpenSSL
  • /DEV/urandom
  • Win32

Но глядя 2.3.0 Источник Я не вижу никаких признаков /dev/urandom быть использованы.

Atleast 2.2.2 имеет /dev/urandom логика.

Пожалуйста, исправьте меня, если я ошибаюсь. Я просто помогаю себе понять, как генерируется случайное число в Ruby.

ответ

0

Вы должны посмотреть на реализацию Random.raw_seed, которую вы можете найти в random.c.

И поскольку документы не упоминают об этом: перед попыткой чтения из /dev/urandom код пытается вызвать getrandom(2) в последних версиях Linux (см. fill_random_bytes()).