gpt4 book ai didi

python - os.urandom() 和 random 有什么区别?

转载 作者:太空狗 更新时间:2023-10-30 00:34:15 24 4
gpt4 key购买 nike

关于随机模块 python page (Link Here)有这个警告:

Warning: The pseudo-random generators of this module should not be used for security purposes. Use os.urandom() or SystemRandom if you require a cryptographically secure pseudo-random number generator.

  • 那么 os.urandom() 和 random 有什么区别呢?

  • 一个比另一个更接近真正的随机数吗?

  • 安全随机数在非加密实例中是否会过大?

  • python中还有其他随机模块吗?

最佳答案

您可以阅读加密安全 RNG 的区别 in this fantastic answer over at Crypto.SE .

random 和像 urandom 这样的系统 RNG 之间的主要区别是用例之一。 random 实现确定性 PRNG。有些场景正是您想要的。例如,当您有一个包含要测试的随机元素的算法时,您需要这些测试是可重复的。在这种情况下,您需要一个可以播种的确定性 PRNG。

另一方面,

urandom 无法播种,它的熵源来自许多不可预测的来源,使其更加随机

True random 是另外一回事,你需要一个物理的随机源,比如测量原子衰变的东西;这在物理意义上是真正随机的,但对于大多数应用程序来说通常是矫枉过正的。

关于python - os.urandom() 和 random 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47514695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com