“密码安全”是什么意思?

Has*_*nta 2 php cryptography

在PHP.netmt_rand()uniqid()为解释“不生成加密安全值”,并怂恿使用random_int()random_bytes()openssl_random_pseudo_bytes()代替。

“密码安全”是什么意思?

Spa*_*gen 6

计算机通常不能很好地计算真正的随机数。这意味着计算机计算的伪随机数可能是可预测的。

如果然后将此随机数用作加密密钥的基础,则密钥和安全消息可能会受到损害。

加密安全的伪随机数生成器 (CSPRNG) 是一种生成的数字,任何第三方都很难预测它可能是什么。这意味着从这些随机数派生的加密密钥极难确定,使使用此类密钥保护的消息安全。

https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator

理想情况下,CSPRNG 中随机数的生成使用从高质量源(通常是操作系统的随机性 API)获得的熵。然而,在几个这种表面上独立的过程中发现了意想不到的相关性。从信息论的角度来看,随机性的数量,即可以产生的熵,等于系统提供的熵。但有时,在实际情况下,需要的随机数多于可用的熵。在实际实践中,从正在运行的系统中提取随机性的过程也很慢。在这种情况下,有时可以使用 CSPRNG。CSPRNG 可以在更多位上“拉伸”可用熵。

  • 是的,有从熵中收集的随机性,例如磁盘访问时间、用户键盘或鼠标交互等。 (2认同)