PHP8 mcrypt_generic_init
(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)
mcrypt_generic_init — 初始化加密所需的缓冲区
警告本函数已自 PHP 7.1.0 起废弃并将自 PHP 7.2.0 起移除。强烈建议不要使用本函数。
说明
mcrypt_generic_init(resource $td, string $key, string $iv): int
在每次调用 mcrypt_generic() 或 mdecrypt_generic() 函数之前必须调用本函数。
参数
td
加密描述符。
key
调用 mcrypt_enc_get_key_size() 函数获得的密钥最大长度。 小于最大长度的数值都被视为非法参数。
iv
通常情况下,向量大小等于算法的分组大小, 但是你应该通过 mcrypt_enc_get_iv_size() 函数 来获得这个值。在 ECB 模式下,初始向量会被忽略, 在 CFB,CBC,STREAM,nOFB 和 OFB 模式下,必须提供初始向量。 初始向量要求是随机的,并且是唯一的(不需要是安全的)。 加密和解密必须使用相同的初始向量。 如果你不想使用初始向量,请将其设置为全 0 值,但是不建议你这么做。
返回值
如果发生错误,将会返回负数: -3 表示密钥长度有误,-4 表示内存分配失败, 其他值表示未知错误, 同时会显示对应的警告信息。 如果传入参数不正确,返回 false。
参见
- mcrypt_module_open() - 打开算法和模式对应的模块