gpt4 book ai didi

php - 解决 PHP 中不安全的随机数生成问题

转载 作者:搜寻专家 更新时间:2023-10-31 20:48:58 25 4
gpt4 key购买 nike

我们正在对各种 Drupal 模块运行 Fortify 扫描,常见的严重/高结果是“不安全的随机性”。它声明 rand() 函数无法承受密码攻击。

我的问题 - 这是一个严重的问题吗?如何在 PHP 中修复它?

谢谢。

最佳答案

这个问题的答案完全取决于您使用 rand() 调用的结果的目的。

如果您将它们用于加密 key 之类的东西,其中工具的安全性取决于随机数的随机性,那么,是的,这是一个严重的问题。在这种情况下,您不应该调用 rand() 或 mt_rand(),因为它们都不会产生足够随机以依赖于加密用途的“随机”数字。你真的想利用你正在运行的平台的底层伪随机数生成器 (PRNG) -/dev/urandom 在 Unix/Linux 系统上或 crypto-api 在 Windows 系统上 - 因为这些已经被广泛研究并产生适用于密码系统的真正随机数。 PHP 并不能使访问这些随机源变得那么容易,但是确实存在有关如何这样做的示例(例如 -> http://www.php.net/manual/en/function.mt-rand.php#83655)。

如果您将随机数用于其他用途,例如随机化首先呈现给用户的选项,或者类似的东西,其中生成的数字未以任何加密方式使用,那么您可以 能够摆脱使用 rand() 或 mt_rand()。但是,如果您的应用程序/模块的安全性依赖于良好的随机数,那么您确实需要利用操作系统资源,如上所述。

关于php - 解决 PHP 中不安全的随机数生成问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10216141/

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