mcrypt_get_iv_size

(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 版中 *已移除*。强烈建议不要依赖此函数。

描述

mcrypt_get_iv_size(string $cipher, string $mode): int

获取属于特定 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";
?>

参见

添加笔记

用户贡献笔记 1 条笔记

Hernanibus
8 年前
初始化向量 (iv) 的大小将以字节为单位返回,而不是以位为单位返回,这一点需要牢记,尤其是在将 iv 与加密数据一起追加或预先追加以进行解密时
To Top