Php 如何使用openssl_decrypt()代替mcrypt_decrypt())

Php 如何使用openssl_decrypt()代替mcrypt_decrypt()),php,Php,我有一个字符串,它使用以下方法完全解密: mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $encrypted, MCRYPT_MODE_CBC, $iv) 现在,我必须使用openssl\u decrypt()函数对数据进行解密 我尝试使用: openssl_decrypt ($encrypted, 'AES-256-CBC', $key , 0 , $iv); 但是,我得到了: RESULT = <blank> 结果= 第一个问题是,您无

我有一个字符串,它使用以下方法完全解密:

mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $encrypted, MCRYPT_MODE_CBC, $iv)
现在,我必须使用
openssl\u decrypt()
函数对数据进行解密

我尝试使用:

openssl_decrypt ($encrypted, 'AES-256-CBC', $key , 0 , $iv);
但是,我得到了:

RESULT = <blank>
结果=

第一个问题是,您无法使用较新的代码对旧数据进行解密(尤其是当旧的加密使用的是
MCRYPT\u RIJNDAEL\u 128
)。您必须首先以旧的方式对其进行解密,然后使用
openssl\u encrypt
对其重新加密。然后使用
openssl\u decrypt
就可以了。它不允许我使用mcrypt\u decrypt进行解密,并给出了错误解密方法。那么你的问题就不清楚了,因为你在第一句话中说“使用mcrypt\u decrypt完全解密”。。。那是哪一个呢?当我在以前的php版本中使用它时,它工作得很好,但在linux的当前版本中,它给了我错误。你能分享完整准确的错误消息,以及一些关于项目设置的信息吗?最近有什么变化吗?