PHP中的加密函数输出意外字符

时间:2013-08-25 11:28:02

标签: php cookies mcrypt

我使用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。我还在setcooking之前放置了echo simple_encrypt($a['rt']);,并获得了它在cookie中的不同值。那太棒了......

1 个答案:

答案 0 :(得分:0)

试试这个:

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));
}