初始化向量 (iv) 的大小将以字节为单位返回,而不是以位为单位返回,这一点需要牢记,尤其是在将 iv 与加密数据一起追加或预先追加以进行解密时
(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)
mcrypt_get_iv_size — 返回属于特定密码/模式组合的 IV 的大小
此函数已于 PHP 7.1.0 版中 *已弃用*,并于 PHP 7.2.0 版中 *已移除*。强烈建议不要依赖此函数。
获取属于特定 cipher
/mode
组合的 IV 的大小。
使用 mcrypt_enc_get_iv_size() 函数更有用,因为它使用 mcrypt_module_open() 返回的资源。
cipher
其中一个 **MCRYPT_ciphername
** 常量,或算法的名称作为字符串。
mode
其中一个 **MCRYPT_MODE_modename
** 常量,或以下字符串之一:"ecb"、"cbc"、"cfb"、"ofb"、"nofb" 或 "stream"。
IV 在 ECB 模式下被忽略,因为此模式不需要它。您需要在加密和解密阶段使用相同的 IV(想想:起点),否则您的加密将失败。
返回初始化向量 (IV) 的大小(以字节为单位)。如果发生错误,则函数返回 **false
**。如果 IV 在指定的密码/模式组合中被忽略,则返回零。
示例 #1 mcrypt_get_iv_size() 示例
<?php
echo mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB) . "\n";
echo mcrypt_get_iv_size('des', 'ecb') . "\n";
?>