【问题标题】:/dev/urandom to generate Random Number + ruby 2.3.0/dev/urandom 生成随机数 + ruby​​ 2.3.0
【发布时间】:2016-09-01 01:55:34
【问题描述】:

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

  • openssl
  • /dev/urandom
  • Win32

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

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

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

【问题讨论】:

    标签: ruby ruby-2.2 ruby-2.3


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-25
      • 2021-02-15
      • 2017-06-24
      • 2011-03-11
      相关资源
      最近更新 更多