gpt4 book ai didi

php - MCRYPT_DEV_RANDOM 卡住但 MCRYPT_DEV_URANDOM 工作

转载 作者:可可西里 更新时间:2023-11-01 12:46:17 26 4
gpt4 key购买 nike

我正在尝试使用以下函数创建 IV:

mcrypt_create_iv(32, MCRYPT_DEV_RANDOM)

这会导致脚本在超过 60 秒后超时。 (也许更多?)但是当我使用 URANDOM 时,它几乎可以立即正常工作。根据我的阅读,使用 MCRYPT_DEV_RANDOM 应该需要大约 4 秒,但这肯定花费的时间太长了。错误日志中没有任何内容。

我在 ubuntu 12.04 服务器上安装了 apache2 和 php5。

我在我的 centos 服务器上运行了完全相同的代码,没有任何问题。

最佳答案

RANDOM 和 Unblocking-RANDOM (URANDOM) 都会为您提供随机数据,但是如果“熵井”因过度使用而干涸,RANDOM 会阻塞,并在补充后重新启动,而 URANDOM 不会。

优点:URANDOM 不会阻塞。缺点:URANDOM,如果没有熵,将提供给你不那么随机的数据。

出于加密目的,除非您真的很偏执,否则我认为 URANDOM 就足够了。

查看这个 Ubuntu 页面: http://manpages.ubuntu.com/manpages/jaunty/man4/random.4.html

我(错误地)认为 RANDOM 源是用户可控的,但看起来它们不是。显然,那台计算机上没有发生太多事情,因此内核熵生成器找不到任何可研究的东西。

从好的方面来说,据说 URANDOM 生成器非常好,几乎所有东西都推荐使用。

(我正在编辑我之前提出的一些对您不起作用的建议,因为它们至少需要重新编译 PHP)。

关于php - MCRYPT_DEV_RANDOM 卡住但 MCRYPT_DEV_URANDOM 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11173803/

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