查詢

mcrypt_decrypt()函式—用法及示例

「 解密使用mcrypt_encrypt()函式加密的資料 」


函式名稱: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;
}

注意事項:

  1. 金鑰的長度必須符合加密演算法的要求,通常是16、24或32位元組。
  2. 初始化向量(IV)在某些加密模式下是必須的,可以使用mcrypt_create_iv()函式生成。
  3. 加密演算法和加密模式需要根據具體需求選擇合適的值。
  4. 解密失敗時,返回false。可以透過判斷返回值來確定解密是否成功。
  5. 在PHP 7.1.0版本之後,mcrypt擴充套件被廢棄,建議使用openssl擴充套件代替。

補充糾錯
上一個函式: mcrypt_encrypt()函式
下一個函式: mcrypt_create_iv()函式
熱門PHP函式
分享連結