mcrypt_generic_init

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

mcrypt_generic_init初始化加密所需的緩沖區(qū)

警告

本函數(shù)已自 PHP 7.1.0 起廢棄。強(qiáng)烈建議不要使用本函數(shù)。

說(shuō)明

mcrypt_generic_init(resource $td, string $key, string $iv): int

在每次調(diào)用 mcrypt_generic()mdecrypt_generic() 函數(shù)之前必須調(diào)用本函數(shù)。

參數(shù)

td

加密描述符。

key

調(diào)用 mcrypt_enc_get_key_size() 函數(shù)獲得的密鑰最大長(zhǎng)度。 小于最大長(zhǎng)度的數(shù)值都被視為非法參數(shù)。

iv

通常情況下,向量大小等于算法的分組大小, 但是你應(yīng)該通過(guò) mcrypt_enc_get_iv_size() 函數(shù) 來(lái)獲得這個(gè)值。在 ECB 模式下,初始向量會(huì)被忽略, 在 CFB,CBC,STREAM,nOFB 和 OFB 模式下,必須提供初始向量。 初始向量要求是隨機(jī)的,并且是唯一的(不需要是安全的)。 加密和解密必須使用相同的初始向量。 如果你不想使用初始向量,請(qǐng)將其設(shè)置為全 0 值,但是不建議你這么做。

返回值

如果發(fā)生錯(cuò)誤,將會(huì)返回負(fù)數(shù): -3 表示密鑰長(zhǎng)度有誤,-4 表示內(nèi)存分配失敗, 其他值表示未知錯(cuò)誤, 同時(shí)會(huì)顯示對(duì)應(yīng)的警告信息。 如果傳入?yún)?shù)不正確,返回 false。

參見(jiàn)