我使用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 ;
答案 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 );
}