mcrypt_encrypt & mcrypt_decrypt 在本地主机上不起作用

mcrypt_encrypt & mcrypt_decrypt doesn't work on localhost

我使用 mcrypt_decrypt 并加密到我的实时网站。现在,我想更改它的一些代码并在本地主机上测试它。 encrypting/decrypting 在我的实时网络上运行良好,但在本地主机上运行不佳。我回显每个加密变量以查看是否有值,但它似乎根本不起作用。有什么想法吗?

$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

您出现此错误是因为您使用的算法不支持 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 ;
?>

输出:

F2GUGzXHKXZruXDpAwMWBeSzwcRKS+CYl/ekUt+dHto=
function encryptIt( $value ) {
        $cryptKey  = 'qJB0rGtIn5U453G03efyCp';

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