/dev/random及/dev/urandom均使用PRNG生成伪随机数,所不同的是:
(1)/dev/random以系统噪声为参数,生成伪随机数。当系统噪声信息变化不足时,系统将阻止进程从/dev/random中读取伪随机数结果。因此,/dev/random所产生的伪随机数随机性更强,适合对安全级别要求较高的情况。
(2)/dev/urandom不去考虑系统噪声信息pool变化情况,直接使用PRNG生成伪随机数,效率更高,速度更快,但牺牲了安全性。

参考链接:https://stackoverflow.com/questions/3690273/did-i-understand-dev-urandom
https://khacnam.net/dev-random-vs-dev-urandom-and-are-they-secure.html
https://www.2uo.de/myths-about-urandom/


本文介绍了Linux系统中的两个伪随机数生成器:/dev/random和/dev/urandom。/dev/random依赖系统噪声来生成更随机的数,可能在噪声不足时阻塞,适合高安全需求;而/dev/urandom则通过PRNG快速生成随机数,牺牲部分安全性以提高效率。对于大多数应用,/dev/urandom已足够安全。
464

被折叠的 条评论
为什么被折叠?



