如何安全地随机化Ruby数组?

时间:2017-01-23 20:32:56

标签: ruby security random

如何将Ruby's Array.shuffle method与安全随机数生成器一起使用?

该方法可以接受随机数生成器作为参数。但是,标准库中的SecureRandom实际上并不是一个可以简单替换Random类的随机数生成器。

a = %w(Some data that needs to be randomized)
a.shuffle! # Not securely random

# Is this any good? I arbitrarily choose 2**32. Should it be something else?
a.shuffle!(random: Random.new(SecureRandom.random_number(2**32)))

我确实找到了this example,它只是重新实现了Array#shuffle方法。但是,我只是将正确的随机数生成器传递给现有(优化)方法,而不是重新实现自己的方法。

0 个答案:

没有答案