English | 简体中文 | 繁體中文
查询

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函数
分享链接