php – MCRYPT_DEV_RANDOM冻结,但MCRYPT_DEV_URANDOM正常工作

前端之家收集整理的这篇文章主要介绍了php – MCRYPT_DEV_RANDOM冻结,但MCRYPT_DEV_URANDOM正常工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用该函数创建一个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不会阻止.
Con:URANDOM,如果没有熵,就会给你提供非真实的随机数据.

对于加密目的,除非你真的是偏执狂,我认为URANDOM应该足够了.

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

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

从好的方面来说,URANDOM发电机据说非常好,几乎应有尽有.

(我正在编辑我之前的一些不适合你的建议,因为它们至少需要重新编译PHP).

猜你在找的PHP相关文章