mcrypt_create_iv

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

mcrypt_create_iv从随机源创建初始向量

Warning

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

从随机源创建初始向量。

初始向量只是为了给加密算法提供一个可用的种子, 所以它不需要安全保护, 你甚至可以随同密文一起发布初始向量也不会对安全性带来影响。

参数

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

Note: 需要注意的是,如果没有更多可用的用来产生随机数据的信息,那么 MCRYPT_DEV_RANDOM 可能进入阻塞状态。

返回值

返回初始向量。如果发生错误,则返回 FALSE

更新日志

版本 说明
5.6.0 source 参数的默认值是 MCRYPT_DEV_URANDOM
5.3.0 MCRYPT_DEV_RANDOMMCRYPT_DEV_URANDOM 在 Windows 平台也可用了。
5.3.0 不再需要提前调用 srand() 函数, 由本函数自动完成调用。

范例

Example #1 mcrypt_create_iv() 例程

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

参见