/ dev / urandom生成随机数+ ruby​​ 2.3.0

时间:2016-05-06 05:23:06

标签: ruby ruby-2.2 ruby-2.3

阅读Ruby Doc 2.3.0,其中陈述了Ruby代码用于生成随机数的策略。

  • OpenSSL的
  • 的/ dev / urandom的
  • 的Win32

但是看2.3.0来源我没有看到任何使用/dev/urandom的迹象。

Atleast 2.2.2/dev/urandom逻辑。

如果我错了,请纠正我。我只是帮助自己了解Ruby中是如何生成随机数的。

1 个答案:

答案 0 :(得分:0)

您必须查看可在random.c中找到的Random.raw_seed实施。

由于文档没有提到它:在尝试从/dev/urandom读取之前,代码尝试在最近的Linux版本上调用getrandom(2)(请参阅fill_random_bytes())。