(PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)
mcrypt_create_iv — 從隨機(jī)源創(chuàng)建初始向量
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從隨機(jī)源創(chuàng)建初始向量。
初始向量只是為了給加密算法提供一個(gè)可用的種子, 所以它不需要安全保護(hù), 你甚至可以隨同密文一起發(fā)布初始向量也不會(huì)對(duì)安全性帶來(lái)影響。
size
初始向量大小。
source
初始向量數(shù)據(jù)來(lái)源。可選值有:
MCRYPT_RAND
(系統(tǒng)隨機(jī)數(shù)生成器),
MCRYPT_DEV_RANDOM
(從
/dev/random 文件讀取數(shù)據(jù)) 和
MCRYPT_DEV_URANDOM
(從
/dev/urandom 文件讀取數(shù)據(jù))。
在 Windows 平臺(tái),PHP 5.3.0 之前的版本中,僅支持 MCRYPT_RAND
。
請(qǐng)注意,在 PHP 5.6.0 之前的版本中,
此參數(shù)的默認(rèn)值為 MCRYPT_DEV_RANDOM
。
注意: 需要注意的是,如果沒(méi)有更多可用的用來(lái)產(chǎn)生隨機(jī)數(shù)據(jù)的信息,那么
MCRYPT_DEV_RANDOM
可能進(jìn)入阻塞狀態(tài)。
返回初始向量。如果發(fā)生錯(cuò)誤,則返回 false
。
版本 | 說(shuō)明 |
---|---|
5.6.0 |
source 參數(shù)的默認(rèn)值是
MCRYPT_DEV_URANDOM 。
|
5.3.0 |
MCRYPT_DEV_RANDOM 和
MCRYPT_DEV_URANDOM 在 Windows 平臺(tái)也可用了。
|
5.3.0 | 不再需要提前調(diào)用 srand() 函數(shù), 由本函數(shù)自動(dòng)完成調(diào)用。 |
示例 #1 mcrypt_create_iv() 例程
<?php
$size = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB);
$iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
?>