Python 随机数安全警告

Python 随机数安全警告,python,security,python-2.7,python-3.x,random,Python,Security,Python 2.7,Python 3.x,Random,为什么我们不应该在Python中使用Random类来实现安全性呢?文档要求我们使用os.uradom()或SystemRandom作为加密安全的伪随机数生成器 如果出于安全目的使用该类,会发生什么情况?Random的问题是它使用了一个可预测的,因为它使用一个种子来生成随机数,而os.urandom()正在使用更安全的随机数的操作系统实现随机数的问题是它使用了一个可预测的,因为它使用一个种子来生成随机数,而OS.urandom()正在使用更安全的随机数的操作系统实现随机数的问题是它使用了一个可预测

为什么我们不应该在Python中使用
Random
类来实现安全性呢?文档要求我们使用
os.uradom()
SystemRandom
作为加密安全的伪随机数生成器



如果出于安全目的使用该类,会发生什么情况?

Random的问题是它使用了一个可预测的,因为它使用一个种子来生成随机数,而
os.urandom()
正在使用更安全的随机数的操作系统实现

随机数的问题是它使用了一个可预测的,因为它使用一个种子来生成随机数,而
OS.urandom()
正在使用更安全的随机数的操作系统实现

随机数的问题是它使用了一个可预测的,因为它使用一个种子来生成随机数,而
OS.urandom()
正在使用更安全的随机数的操作系统实现

随机数的问题是,它使用一个可预测的,因为它使用一个种子来生成随机数,而
OS.urandom()
正在使用更安全的随机数的操作系统实现

,如果你不得不问,您不应该从头开始设计加密,即使使用更好的RNG。(即使你不必问,如果你没有几个博士学位,你可能也不应该尝试从头开始设计密码)。会发生什么?攻击者仅读取少量数据就可以猜测伪随机数生成器的状态,这意味着他可以破解您使用的密码。安全的PRNG应该能够抵御此类攻击:监视生成的序列不应该允许猜测内部状态,即使攻击者能够读取大量的内部状态。这个问题似乎与主题无关,因为它与密码学有关,应该转移到cryptography.SE。您的问题中没有任何固有的东西与python相关,只是您在python文档中阅读了有关此建议的内容。@Wooble使用一个加密安全的值并不一定意味着您是从头开始设计加密。您可能只需要一个不可预测的随机数,例如密码或令牌生成。除了密码学本身,还有许多合法的用途。如果你不得不问,你不应该从头开始设计密码学,即使使用更好的RNG。(即使你不必问,如果你没有几个博士学位,你可能也不应该尝试从头开始设计密码)。会发生什么?攻击者仅读取少量数据就可以猜测伪随机数生成器的状态,这意味着他可以破解您使用的密码。安全的PRNG应该能够抵御此类攻击:监视生成的序列不应该允许猜测内部状态,即使攻击者能够读取大量的内部状态。这个问题似乎与主题无关,因为它与密码学有关,应该转移到cryptography.SE。您的问题中没有任何固有的东西与python相关,只是您在python文档中阅读了有关此建议的内容。@Wooble使用一个加密安全的值并不一定意味着您是从头开始设计加密。您可能只需要一个不可预测的随机数,例如密码或令牌生成。除了密码学本身,还有许多合法的用途。如果你不得不问,你不应该从头开始设计密码学,即使使用更好的RNG。(即使你不必问,如果你没有几个博士学位,你可能也不应该尝试从头开始设计密码)。会发生什么?攻击者仅读取少量数据就可以猜测伪随机数生成器的状态,这意味着他可以破解您使用的密码。安全的PRNG应该能够抵御此类攻击:监视生成的序列不应该允许猜测内部状态,即使攻击者能够读取大量的内部状态。这个问题似乎与主题无关,因为它与密码学有关,应该转移到cryptography.SE。您的问题中没有任何固有的东西与python相关,只是您在python文档中阅读了有关此建议的内容。@Wooble使用一个加密安全的值并不一定意味着您是从头开始设计加密。您可能只需要一个不可预测的随机数,例如密码或令牌生成。除了密码学本身,还有许多合法的用途。如果你不得不问,你不应该从头开始设计密码学,即使使用更好的RNG。(即使你不必问,如果你没有几个博士学位,你可能也不应该尝试从头开始设计密码)。会发生什么?攻击者仅读取少量数据就可以猜测伪随机数生成器的状态,这意味着他可以破解您使用的密码。安全的PRNG应该能够抵御此类攻击:监视生成的序列不应该允许猜测内部状态,即使攻击者能够读取大量的内部状态。这个问题似乎与主题无关,因为它与密码学有关,应该转移到cryptography.SE。您的问题中没有任何固有的东西与python相关,只是您在python文档中阅读了有关此建议的内容。@Wooble使用一个加密安全的值并不一定意味着您是从头开始设计加密。您可能只需要一个不可预测的随机数,例如密码或令牌生成。除了密码本身,还有许多合法的用途。@thegrinner:谢谢你的回答。我知道当一个随机数是用一个种子产生的时候,我们可以用同一个种子复制相同的数字序列。这就是为什么使用使用se的PRNG不安全的原因