Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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
php mcrypt和不同的服务器_Php_Encryption_Mcrypt - Fatal编程技术网

php mcrypt和不同的服务器

php mcrypt和不同的服务器,php,encryption,mcrypt,Php,Encryption,Mcrypt,我有这样的密码 function EnDeCrypt($text, $key, $s = 1){ $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND); switch ($s) { case '0': return trim(mcrypt_decrypt(MCRYPT_RIJN

我有这样的密码

function EnDeCrypt($text, $key, $s = 1){
        $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND);
        switch ($s) {
            case '0':
                return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, base64_decode($text), MCRYPT_MODE_ECB, $iv));
                break;
            case '1':
                return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv));
                break;
            default:
                return FALSE;
                break;
        }
    }
如果我在一个脚本中调用EnDeCrypt,所有都可以,如果我尝试在get param中将加密数据传递到不同的服务器,我无法解密(获取这样的字符串ŸTe³qëyÀ221;)

密钥等于,结果放入抛出urlencode\URLEDECODE不解密


尝试将vector mcrypt_create_iv-nothing传递给decypher,您需要具有用于加密的相同初始化向量(
$iv


将其作为参数传递给函数,一切都应该正常。

若要删除密码,需要使用与加密相同的初始化向量(
$iv


把它作为一个参数传递给你的函数,一切都会好起来。

这是一个愚蠢的密码,一个键可以工作,另一个键不能编码,这是一个可怕的错误!把初始化向量看作键的一部分,IV不是键的一部分。可以在clear中提供IV;钥匙显然不能。事实上,它通常是以明文形式提供的。我的意思是“钥匙的一部分”,如“你需要它来解密”=)这是如此愚蠢的密码,用一个钥匙它工作,用另一个钥匙不编码这是一个可怕的错误!把初始化向量看作键的一部分,IV不是键的一部分。可以在clear中提供IV;钥匙显然不能。事实上,它通常是以明文形式提供的。我指的是“钥匙的一部分”,如“你需要它来解密”=)