2010-07-07 68 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必須對每個加密都是唯一的。