(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)
mcrypt_generic_init — 初始化加密所需的緩沖區
本函數已自 PHP 7.1.0 起廢棄。強烈建議不要使用本函數。
$td
, string $key
, string $iv
): int在每次調用 mcrypt_generic() 或 mdecrypt_generic() 函數之前必須調用本函數。
td
加密描述符。
key
調用 mcrypt_enc_get_key_size() 函數獲得的密鑰最大長(cháng)度。 小于最大長(cháng)度的數值都被視為非法參數。
iv
通常情況下,向量大小等于算法的分組大小, 但是你應該通過(guò) mcrypt_enc_get_iv_size() 函數 來(lái)獲得這個(gè)值。在 ECB 模式下,初始向量會(huì )被忽略, 在 CFB,CBC,STREAM,nOFB 和 OFB 模式下,必須提供初始向量。 初始向量要求是隨機的,并且是唯一的(不需要是安全的)。 加密和解密必須使用相同的初始向量。 如果你不想使用初始向量,請將其設置為全 0 值,但是不建議你這么做。
如果發(fā)生錯誤,將會(huì )返回負數:
-3 表示密鑰長(cháng)度有誤,-4 表示內存分配失敗,
其他值表示未知錯誤,
同時(shí)會(huì )顯示對應的警告信息。
如果傳入參數不正確,返回 false
。