官方demo解密mdecrypt_generic函数在php7.1之后被废弃了,导致php7以上版本使用不了,使用openssl_decrypt替代解密
decrypt方法中修改如下:
//使用BASE64对需要解密的字符串进行解码
//$ciphertext_dec = base64_decode($encrypted); 注:新方法openssl_decrypt中不需要base64_decode,一个大坑
//$module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');
$iv = substr($this->key, 0, 16);
//mcrypt_generic_init($module, $this->key, $iv);
//解密
//$decrypted = mdecrypt_generic($module, $ciphertext_dec);
//mcrypt_generic_deinit($module);
//mcrypt_module_close($module);
改成如下
$decrypted = openssl_decrypt($encrypted,'AES-256-CBC',$this->key,OPENSSL_ZERO_PADDING,$iv);
本文详细介绍了在PHP7.1及更高版本中,由于mdecrypt_generic函数被废弃,如何使用openssl_decrypt函数作为替代方案来实现字符串解密。文中提供了具体的代码示例,展示了如何正确配置并调用openssl_decrypt,包括使用正确的填充方式和初始化向量。
2379

被折叠的 条评论
为什么被折叠?



