(PHP 4, PHP 5)
mcrypt_create_iv — 從隨機源創建初始向量
說明
string mcrypt_create_iv ( int$size
[, int $source
= MCRYPT_DEV_URANDOM
] )
從隨機源創建初始向量。
初始向量只是為了給加密算法提供一個可用的種子, 所以它不需要安全保護, 你甚至可以隨同密文一起發布初始向量也不會對安全性帶來影響。
參數
size
初始向量大小。
source
初始向量數據來源。可選值有:
MCRYPT_RAND
(系統隨機數生成器),
MCRYPT_DEV_RANDOM
(從
/dev/random 文件讀取數據) 和
MCRYPT_DEV_URANDOM
(從
/dev/urandom 文件讀取數據)。
在 Windows 平臺,PHP 5.3.0 之前的版本中,僅支持 MCRYPT_RAND
。
請注意,在 PHP 5.6.0 之前的版本中,
此參數的默認值為 MCRYPT_DEV_RANDOM
。
返回值
返回初始向量。如果發生錯誤,則返回 FALSE
。
更新日志
版本
說明
5.6.0
source
參數的默認值是
MCRYPT_DEV_URANDOM
。
5.3.0
MCRYPT_DEV_RANDOM
和
MCRYPT_DEV_URANDOM
在 Windows 平臺也可用了。
5.3.0
不再需要提前調用 srand() 函數,
由本函數自動完成調用。
范例
Example #1 mcrypt_create_iv() 例程
<?php
$size = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB);
$iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
?>
參見
» http://www.ciphersbyritter.com/GLOSSARY.HTM#IV » http://www.quadibloc.com/crypto/co0409.htm Applied Cryptography by Schneier (ISBN 0-471-11709-9) 9.3 節。