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



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

  • openssl
  • /dev/undom
  • Win32

但是查看2.3.0 Source,我没有看到任何使用/dev/urandom的迹象。

至少2.2.2具有/dev/urandom逻辑。

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

您必须查看Random.raw_seed实现,它可以在random.c中找到。

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

最新更新