Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP7及以上版本中,mcrypt_解密的替代解决方案是什么?_Php_Mcrypt - Fatal编程技术网

在PHP7及以上版本中,mcrypt_解密的替代解决方案是什么?

在PHP7及以上版本中,mcrypt_解密的替代解决方案是什么?,php,mcrypt,Php,Mcrypt,我正在尝试将我的函数从PHP5.5版本更新到PHP7。但这两个函数的返回结果是不同的。PHP5.5结果正确,PHP7结果错误。此代码的替代解决方案是什么?。有人知道这个功能吗 PHP5.5-结果正确 public function decrypt($input){ $input = base64_decode($input); $result = mcrypt_decrypt(MCRYPT_DES, $this->key3,$input, MCRYPT_MODE_CB

我正在尝试将我的函数从PHP5.5版本更新到PHP7。但这两个函数的返回结果是不同的。PHP5.5结果正确,PHP7结果错误。此代码的替代解决方案是什么?。有人知道这个功能吗

PHP5.5-结果正确

public function decrypt($input){

    $input  = base64_decode($input);
    $result = mcrypt_decrypt(MCRYPT_DES, $this->key3,$input,  MCRYPT_MODE_CBC, $this->iv);
    return $result;
}
PHP7.1.0结果不正确

public function decrypt($input){
    $inputs  = base64_decode($input);
    $result =   openssl_decrypt($input,'AES-256-CBC', $this->key3, OPENSSL_RAW_DATA, $this->iv);
    return $result;
}

mycrypt调用使用DES尝试和解密,但openssl调用使用AES尝试和解密。毫不奇怪,它们不会产生相同的结果…@ADyson,你能解释一下吗?PHP7中的MCRYPT_DES的替代解决方案是什么?它们是不同的加密密码,因此显然,如果使用一个密码对某个内容进行了加密,则无法使用其他密码对其进行解密。我建议你用谷歌搜索“php mycrypt替换”或类似的术语,关于这个话题有很多现有的答案。如果你仍然无法从之前的文章中解决这个问题,请发布更多信息。DES可以用具有现代计算能力的蛮力破解。因此,如果您可以控制此数据的加密过程,我们建议您使用更强大的加密密码。@ADyson,我尝试了很多选项。我最近三天在玩这个代码。但我无法解决。您需要哪些信息?