2010-07-07 102 views
1

我使用MCRYPT_DEV_RANDOMMCRYPT_DEV_URANDOM作为Blowfish加密一部分,但我注意到它的每一次输出相同的随机数字。它不同于机器之间,但每台机器都是一样的。MCRYPT_DEV_RANDOM总是相同

  • 这是正常的吗?
  • 它会影响我用它生成的初始化向量(IV)的强度吗?
+0

在使用任何随机数生成函数/进程(如mcrypt_create_iv())之前,您是否在播种随机数生成器?如果是这样,你是否每次都使用相同的种子? – 2010-07-07 07:48:06

+0

您是在Windows服务器上测试它的吗?如果是这样,你使用的是什么版本的PHP? – 2010-07-07 07:51:58

+0

你好吗?请发布一个说明问题的小例子。 – 2010-07-07 11:19:30

回答

2

我猜你使用Windows和你的PHP版本早于5.3

http://php.net/manual/en/function.mcrypt-create-iv.php:PHP 5.3.0: “MCRYPT_DEV_RANDOM和MCRYPT_DEV_URANDOM成为可在Windows平台上”

回答您的问题:

  • 这是正常的吗?这是Windows中较早的PHP版本的已知条件。否则,不。
  • 是否影响初始化向量(IV)的力量,我用它生成?是的,它的确如此。您的IV必须对每个加密都是唯一的。