函式名稱:mcrypt_decrypt()
函式描述:該函式用於解密使用mcrypt_encrypt()函式加密的資料。
適用版本:該函式在PHP 5.3.0及以上版本可用。
語法:string mcrypt_decrypt ( string $cipher , string $key , string $data , string $mode [, string $iv ] )
引數:
- $cipher:加密演算法,如MCRYPT_RIJNDAEL_128、MCRYPT_DES等。
- $key:用於加密和解密的金鑰,必須是16、24或者32位元組的長度。
- $data:要解密的資料。
- $mode:加密模式,如MCRYPT_MODE_CBC、MCRYPT_MODE_ECB等。
- $iv:初始化向量(可選),在某些加密模式下需要使用。
返回值:返回解密後的資料,如果解密失敗則返回false。
示例:
$key = "MySecretKey123"; // 金鑰
$data = "encrypted data"; // 要解密的資料
$cipher = MCRYPT_RIJNDAEL_128; // 加密演算法
$mode = MCRYPT_MODE_CBC; // 加密模式
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher, $mode), MCRYPT_RAND); // 初始化向量
$decryptedData = mcrypt_decrypt($cipher, $key, $data, $mode, $iv);
if ($decryptedData === false) {
echo "解密失敗";
} else {
echo "解密後的資料:" . $decryptedData;
}
注意事項:
- 金鑰的長度必須符合加密演算法的要求,通常是16、24或32位元組。
- 初始化向量(IV)在某些加密模式下是必須的,可以使用mcrypt_create_iv()函式生成。
- 加密演算法和加密模式需要根據具體需求選擇合適的值。
- 解密失敗時,返回false。可以透過判斷返回值來確定解密是否成功。
- 在PHP 7.1.0版本之後,mcrypt擴充套件被廢棄,建議使用openssl擴充套件代替。
熱門工具排行榜