🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 一、使用base64_encode()与base64_decode() 推荐 在 BASE64 编码后的字符串只包含英文字母大小写、阿拉伯数字、加号与反斜线,共 64 个基本字符,不包含其它特殊的字符,因而才取名 BASE64。编码后的字符串比原来的字符串长度再加 1/3 左右。更多的 BASE64 编码信息可以参考 RFC2045 文件之 6.8 节。 示例: ~~~ $pw = base64_encode('id=5&action=get'); echo $pw; // aWQ9NSZhY3Rpb249Z2V0 echo base64_decode($pw); // id=5&action=get ~~~ ## 二、urlencode()与urldecode() 返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。 示例: ~~~ $pw = urlencode('id=5&action=get'); echo $pw; // id%3D5%26action%3Dget echo urldecode($pw); // id=5&action=get ~~~ ## 三、rawurlencode()与rawurldecode() 特殊的字符会转换成百分比符号后面加上二个十六位数字的格式。例如,空格就会变成 %20。 示例: ~~~ $pw = rawurlencode('id=5&action=get'); echo $pw; // id%3D5%26action%3Dget echo rawurldecode($pw); // id=5&action=get ~~~ ## 四、附加 以上三种方式都可以加盐处理,如: ~~~ $salt = '&time='.time(); $pw = base64_encode('id=5&action=get'.$salt); echo $pw; echo base64_decode($pw); ~~~