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。Note: 需要注意的是,如果没有更多可用的用来产生随机数据的信息,那么 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() 函数, 由本函数自动完成调用。 | 
范例
Example #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