当加密数据保存到cookie中时,加密数据会发生变化,`+`变成`%2B`?

时间:2013-07-29 16:07:19

标签: php

 base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));

   encrypt data - //AHT+GFkX2opXrPyZZ2fQerLDgspBn2tgA4107wrSrOg=
   Cookie -       //AHT%2BGFkX2opXrPyZZ2fQerLDgspBn2tgA4107wrSrOg%3D

我有加密加密记住我的用户ID。

然而,加密后cookie变得不同。因为HTML代码。

+变为%2B=变为%3D

我需要解密数据

无论如何要解决这个问题?

1 个答案:

答案 0 :(得分:4)

只需在PHP中使用urldecode($_COOKIE['name_of_cookie'])将字符串解码回原始cookie值。

以下是有关网址编码以及如何& amp;何时使用它。 http://webdesign.about.com/od/forms/a/url_encoding.htm

官方文档(PHP手册):http://php.net/manual/en/function.urldecode.php