Cha*_*ker 11 python random pycrypto
我试图理解并弄清楚我是否应该使用os.urandom()
或Crypto.Random.new()
用于加密安全的伪随机数.
以下网站似乎建议使用os.urandom()
:
https://github.com/mozilla/PyHawk/pull/13
但我真的不明白为什么,我在网上找到的其他网站并没有真正解释使用哪个网站.
如果有人知道哪一个是加密使用的安全,我将不胜感激!
特别让我担心的一件事是,我打算用它来生成随机数,但我担心有一天我生成一些随机数,第二天生成器的状态是相同的,它开始生成相同的"随机"数字.
Squ*_*ree 10
我去os.urandom
.在我检查的所有(最近的)Python实现中,它通过简单地打开与其他非Linux平台上的无缓冲连接/dev/urandom
或等效设备来做正确的事情.
另一方面,PyCrypto Crypto.Random
是一个基于Fortuna的非常复杂的包装器.这种复杂的构造可能是为了减轻底层操作系统的一些缺陷.不幸:
/dev/urandom
(在Linux上)获取熵,因此如果操作系统被破坏,PyCrypto Crypto.Random
也将被破坏(击败其目的) 归档时间: |
|
查看次数: |
4491 次 |
最近记录: |