mcrypt_create_iv

(PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_create_iv從隨機源創(chuàng)建初始向量

警告

This function was DEPRECATED in PHP 7.1.0, and REMOVED in PHP 7.2.0.

Alternatives to this function include:

說明

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

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

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

參數(shù)

size

初始向量大小。

source

初始向量數(shù)據(jù)來源??蛇x值有: MCRYPT_RAND (系統(tǒng)隨機數(shù)生成器), MCRYPT_DEV_RANDOM (從 /dev/random 文件讀取數(shù)據(jù)) 和 MCRYPT_DEV_URANDOM (從 /dev/urandom 文件讀取數(shù)據(jù))。 在 Windows 平臺,PHP 5.3.0 之前的版本中,僅支持 MCRYPT_RAND。

請注意,在 PHP 5.6.0 之前的版本中, 此參數(shù)的默認(rèn)值為 MCRYPT_DEV_RANDOM

注意: 需要注意的是,如果沒有更多可用的用來產(chǎn)生隨機數(shù)據(jù)的信息,那么 MCRYPT_DEV_RANDOM 可能進入阻塞狀態(tài)。

返回值

返回初始向量。如果發(fā)生錯誤,則返回 false。

更新日志

版本 說明
5.6.0 source 參數(shù)的默認(rèn)值是 MCRYPT_DEV_URANDOM
5.3.0 MCRYPT_DEV_RANDOMMCRYPT_DEV_URANDOM 在 Windows 平臺也可用了。
5.3.0 不再需要提前調(diào)用 srand() 函數(shù), 由本函數(shù)自動完成調(diào)用。

范例

示例 #1 mcrypt_create_iv() 例程

<?php
    $size 
mcrypt_get_iv_size(MCRYPT_CAST_256MCRYPT_MODE_CFB);
    
$iv mcrypt_create_iv($sizeMCRYPT_DEV_RANDOM);
?>

參見