获取加密强大的随机数?

时间:2013-09-15 15:44:05

标签: api random cryptography erlang

如何在Erlang中获取加密强大的随机数,相当于在Unix上读取/ dev / random?

到目前为止,我只看到使用随机的建议:使用像now()这样的东西进行统一和播种,但这还不够强大。

(是的,我知道它在BSD上是伪随机的,但显然它们认为它足够好,如果不是,那就是它们的问题)。

2 个答案:

答案 0 :(得分:7)

这个更好:crypto:strong_rand_bytes/1

使用加密安全的prng种子,并定期与操作系统提供的熵混合。

如果要将字节转换为整数,请尝试crypto:bytes_to_integer(crypto:strong_rand_bytes(N))N是您要随机生成的字节数。)

使用crypto模块的提示:使用最新版本的Erlang:)

答案 1 :(得分:2)

我认为您正在寻找crypto:rand_bytes/1crypto:rand_uniform/2