mcrypt_create_iv
(PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)
mcrypt_create_iv — 從隨機源建立初始向量
This function was DEPRECATED in PHP 7.1.0, and REMOVED in PHP 7.2.0.
Alternatives to this function include:
說明
$size
, int $source
= MCRYPT_DEV_URANDOM): string從隨機源建立初始向量。
初始向量只是爲了給加密演算法提供一個可用的種子, 所以它不需要安全保護, 你甚至可以隨同密文一起發佈初始向量也不會對安全性帶來影響。
參數
-
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
。注意: 需要注意的是,如果沒有更多可用的用來產生隨機數據的資訊,那麼
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() 函式, 由本函式自動完成呼叫。 |
範例
示例 #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 節。
- random_bytes() - Generates cryptographically secure pseudo-random bytes