function encryptCookie($value){
if(!$value){return false;}
$key = 'paxospass1234!';
$text = $value;
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
return trim(base64_encode($crypttext)); //encode for cookie
}
$str="hello world,this is a test";
$s=encryptCookie($str);到这一步,,我要在$s中解密出来,,求函数
if(!$value){return false;}
$key = 'paxospass1234!';
$text = $value;
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
return trim(base64_encode($crypttext)); //encode for cookie
}
$str="hello world,this is a test";
$s=encryptCookie($str);到这一步,,我要在$s中解密出来,,求函数
if(!$value){return false;}
$value = base64_decode($value);
$key = 'paxospass1234!';
$text = $value;
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
return $decrypttext;
}
/** CBC **/
function encryptCookie($value){
if(!$value){return false;}
$key = 'paxospass1234!';
$text = $value;
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_CBC, $iv);
return array(trim(base64_encode($crypttext)),$iv); //encode for cookie
}
function decryptCookie($value,$iv){
if(!$value){return false;}
$value = base64_decode($value);
$key = 'paxospass1234!';
$text = $value;
// $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC);
// $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_CBC, $iv);
return $decrypttext;
}
$str="this is for encry";
$s=encryptCookie($str);
echo $s[0]."<br/>";
echo decryptCookie($s[0],$s[1]);
详见
http://zh.wikipedia.org/wiki/%E5%9D%97%E5%AF%86%E7%A0%81%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%A8%A1%E5%BC%8F
其中除了decode的解密内容是encode的加密内容外,其他参数都一样。