class _setcookie {
//encrypt function
public static $key_t = "antto";
public static function encrypt($cookie_array) {
$txt = serialize($cookie_array);
srand();
$encrypt_key = md5(rand(0,10000));
$ctr = 0;
$tmp = '';
for($i = 0;$i < strlen($txt);$i++){
$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
$tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]);
}
return base64_encode(_setcookie::key($tmp,_setcookie::$key_t));
}
//decrypt function
public static function decrypt($txt) {
$txt = _setcookie::key(base64_decode($txt), _setcookie::$key_t);
$tmp = '';
for($i = 0;$i < strlen($txt); $i++) {
$md5 = $txt[$i];
$tmp .= $txt[++$i] ^ $md5;
}
$tmp_t = unserialize($tmp);
return $tmp_t;
}
public static function key($txt,$encrypt_key) {
$encrypt_key = md5($encrypt_key);
$ctr = 0;
$tmp = '';
for($i = 0; $i < strlen($txt); $i++) {
$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
$tmp .= $txt[$i] ^ $encrypt_key[$ctr++];
}
return $tmp;
}
}
测试:
$test=array (
"realname" => "antto",
"username" => "antto",
"groupid" => "1",
"password" => "123123",
"lastlogindate"=> "2014-04-08",
);
$en_a=_setcookie::encrypt($test);
echo $en_a;
echo "
";
$test_base64 = base64_decode($en_a);
echo $test_base64;
echo "
";
$de_a=_setcookie::decrypt($en_a);
print_r($de_a);
1,134 total views, 2 views today
Revisions
There are no revisions for this post.