mcrypt_encrypt& mcrypt_decrypt不适用于localhost

时间:2016-05-06 02:32:21

标签: php encryption mcrypt

我使用mcrypt_decrypt并加密到我的实时网站。现在,我想在其上更改一些代码并在localhost上进行测试。加密/解密在我的实时网络上运行良好,但在localhost上运行不正常。我回显每个加密变量,看看是否有价值,但似乎根本没有工作。有什么想法吗?

$secret_key ="qazxsw";
$email="myemail1@email.com"; 

$encrypted_data = trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $secret_key, $email, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));


echo $encrypted_data ;

编辑:XAMPP-5.6.3

2 个答案:

答案 0 :(得分:0)

你已经接受了这个错误,因为你使用的Algorythm不是支持8个字符键,

请将您的$secretkey=""增加到16个以下代码

<?PHP
$secret_key ="qazxswqazxswqazx";
$email="myemail1@email.com"; 

$encrypted_data = trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $secret_key, $email, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));


echo $encrypted_data ;
?>

OutPut:

F2GUGzXHKXZruXDpAwMWBeSzwcRKS+CYl/ekUt+dHto=

答案 1 :(得分:0)

function encryptIt( $value ) {
        $cryptKey  = 'qJB0rGtIn5U453G03efyCp';

        $qEncoded  = base64_encode( mcrypt_encrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), $value, MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ) );
        return( $qEncoded );
    }