如何在Erlang中获取加密强大的随机数,相当于在Unix上读取/ dev / random?
到目前为止,我只看到使用随机的建议:使用像now()这样的东西进行统一和播种,但这还不够强大。
(是的,我知道它在BSD上是伪随机的,但显然它们认为它足够好,如果不是,那就是它们的问题)。
答案 0 :(得分:7)
这个更好:crypto:strong_rand_bytes/1
使用加密安全的prng种子,并定期与操作系统提供的熵混合。
如果要将字节转换为整数,请尝试crypto:bytes_to_integer(crypto:strong_rand_bytes(N))
(N
是您要随机生成的字节数。)
使用crypto
模块的提示:使用最新版本的Erlang:)
答案 1 :(得分:2)