我使用simple_encrypt
在cookie中存储一些敏感信息。当我尝试用simple_decrypt
解密它时,它不会给出相同的字符串。当我试图在simple_decrypt
之后输出该字符串时,我会得到带有�
之类符号的字符。怎么了?
$salt ='sososo222xxxXXsder3FVRE';
function simple_encrypt($text)
{
global $salt;
return mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $salt, $text, MCRYPT_MODE_ECB);
}
function simple_decrypt($text)
{
global $salt;
return mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $salt, $text, MCRYPT_MODE_ECB);
}
编辑:我使用setcookie("rt", simple_encrypt($a['rt']), time()+(3600 * 24 * 365));
来存储cookie。我还把echo simple_encrypt($a['rt']);
放在了setcooking之前,得到了它在cookie中的不同值。太神奇了。。。
试试这个:
function simple_encrypt($text)
{
global $salt;
return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $salt, $text, MCRYPT_MODE_ECB));
}
function simple_decrypt($text)
{
global $salt;
return base64_decode(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $salt, $text, MCRYPT_MODE_ECB));
}