- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试使用以下函数创建 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/
我正在尝试使用以下函数创建 IV: mcrypt_create_iv(32, MCRYPT_DEV_RANDOM) 这会导致脚本在超过 60 秒后超时。 (也许更多?)但是当我使用 URANDOM 时
我是一名优秀的程序员,十分优秀!