mcrypt_create_iv

(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:

說(shuō)明

mcrypt_create_iv(int $size, int $source = MCRYPT_DEV_URANDOM): string

從隨機(jī)源創(chuàng)建初始向量。

初始向量只是為了給加密算法提供一個(gè)可用的種子, 所以它不需要安全保護(hù), 你甚至可以隨同密文一起發(fā)布初始向量也不會(huì)對(duì)安全性帶來(lái)影響。

參數(shù)

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_RANDOMMCRYPT_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_256MCRYPT_MODE_CFB);
    
$iv mcrypt_create_iv($sizeMCRYPT_DEV_RANDOM);
?>

參見(jiàn)