在Linux中, /dev/urandom/
是多么随意的? 它被认为是安全的吗?
也有可能得到1的stream?
注意4.5年后:这是不好的建议。 有关详细信息,请参阅其中一个链接
如果你在Linux上生成加密密钥,你需要/dev/random
,即使它阻塞 – 你不需要那么多的位。
对于其他任何事情,例如生成随机测试数据或不可预知的会话ID, /dev/urandom
都可以。 在大多数系统中有足够的熵源(键盘和鼠标事件的时间,网络包等),输出将是不可预知的。
请检查手册页 :
Yarrow is a fairly resilient algorithm, and is believed to be resistant to non-root. The quality of its output is however dependent on regular addition of appropriate entropy. If the Securityserver system daemon fails for any reason, output quality will suffer over time without any explicit indication from the random device itself. Paranoid programmers can counteract this risk somewhat by collecting entropy of their choice (eg from keystroke or mouse timings) and seed- ing it into random directly before obtaining important random numbers.
使用/ dev / urandom,它的加密安全。
好阅读: http : //www.2uo.de/myths-about-urandom/
“如果你不确定你应该使用/ dev / random还是/ dev / urandom,那么你可能想使用后者。”
如果在早期的启动怀疑,你有足够的熵聚集。 使用系统调用getrandom()
来代替。 [1]它是两全其美的最好的东西,它阻止了(只有一次!)足够的熵被收集,之后它不会再被阻塞。
git内核提交