PHP安全的URL字符串base64编码和解码


Posted in PHP onJune 19, 2014

如果直接使用base64_encode和base64_decode方法的话,生成的字符串可能不适用URL地址。下面的方法可以解决该问题:

URL安全的字符串编码:

function urlsafe_b64encode($string) {

   $data = base64_encode($string);

   $data = str_replace(array('+','/','='),array('-','_',''),$data);

   return $data;

 }

URL安全的字符串解码:

function urlsafe_b64decode($string) {

   $data = str_replace(array('-','_'),array('+','/'),$string);

   $mod4 = strlen($data) % 4;

   if ($mod4) {

       $data .= substr('====', $mod4);

   }

   return base64_decode($data);

 }
PHP 相关文章推荐
php 信息采集程序代码
Mar 17 PHP
PHP常用代码大全(新手入门必备)
Jun 29 PHP
PHP内核介绍及扩展开发指南―基础知识
Sep 11 PHP
基于header的一些常用指令详解
Jun 06 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
Dec 14 PHP
php获取本机真实IP地址实例代码
Mar 31 PHP
PHP对象相关知识总结
Apr 09 PHP
PHP使用栈解决约瑟夫环问题算法示例
Aug 27 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
PHP实现简单登录界面
Oct 23 PHP
PHP实现微信公众号验证Token的示例代码
Dec 16 PHP
如何在PHP中生成随机数
Jun 04 PHP
PHP中的多行字符串传递给JavaScript的两种方法
Jun 19 #PHP
ThinkPHP模板引擎之导入资源文件方法详解
Jun 18 #PHP
ThinkPHP CURD方法之field方法详解
Jun 18 #PHP
ThinkPHP CURD方法之data方法详解
Jun 18 #PHP
ThinkPHP CURD方法之order方法详解
Jun 18 #PHP
ThinkPHP CURD方法之table方法详解
Jun 18 #PHP
ThinkPHP CURD方法之page方法详解
Jun 18 #PHP
You might like
wordpress之wp-settings.php
2007/08/17 PHP
Yii获取当前url和域名的方法
2015/06/08 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
JS实现打开本地文件或文件夹
2021/03/09 Javascript
Js如何判断客户端是PC还是手持设备简单分析
2012/11/22 Javascript
bootstrap警告框使用方法解析
2017/01/13 Javascript
javascript自执行函数
2017/02/10 Javascript
详解vue2父组件传递props异步数据到子组件的问题
2017/06/29 Javascript
详解Angular系列之变化检测(Change Detection)
2018/02/26 Javascript
JS在if中的强制类型转换方式
2018/07/15 Javascript
element-ui 关于获取select 的label值方法
2018/08/24 Javascript
Javascript中parseInt的正确使用方式
2018/10/17 Javascript
vue中使用codemirror的实例详解
2018/11/01 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
2018/11/02 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
JS实现瀑布流效果
2020/03/07 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
Vue实现手机计算器
2020/08/17 Javascript
[50:48]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python中的fileinput模块的简单实用示例
2015/07/09 Python
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
Python turtle库的画笔控制说明
2020/06/28 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
2020/12/10 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
2021/03/04 Python
技术学校毕业生求职信分享
2013/12/02 职场文书
秋季运动会加油稿200字
2014/01/11 职场文书
环保倡议书范文
2014/05/12 职场文书
安全演讲稿开场白
2014/08/25 职场文书
2014年教师党员自我评价范文
2014/09/22 职场文书
政审证明范文
2015/06/19 职场文书
公司客户答谢酒会祝酒词
2015/08/11 职场文书
将图片保存到mysql数据库并展示在前端页面的实现代码
2021/05/02 MySQL
一起来学习Python的元组和列表
2022/03/13 Python