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 相关文章推荐
使用MaxMind 根据IP地址对访问者定位
Oct 09 PHP
FCKeditor添加自定义按钮
Mar 27 PHP
php获取当前时间的毫秒数的方法
Jan 26 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
Sep 27 PHP
php自定文件保存session的方法
Dec 10 PHP
php判断文件夹是否存在不存在则创建
Apr 09 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
php文件上传的两种实现方法
Apr 04 PHP
浅谈PHP的数据库接口和技术
Dec 09 PHP
PHP封装函数实现生成随机的字符串验证码
Jan 24 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
Jul 17 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
Aug 03 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
Smarty+QUICKFORM小小演示
2007/02/25 PHP
ThinkPHP中自定义目录结构的设置方法
2014/08/15 PHP
PHP基于curl后台远程登录正方教务系统的方法
2016/10/14 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
2017/02/04 PHP
PHP判断是否是微信打开,浏览器打开的方法
2018/03/14 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
JavaScript 放大镜 移动镜片效果代码
2011/05/09 Javascript
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
jQuery获取URL请求参数的方法
2015/07/18 Javascript
js删除局部变量的实现方法
2016/06/25 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
javascript 中iframe高度自适应(同域)实例详解
2017/05/16 Javascript
详解vue中localStorage的使用方法
2018/11/22 Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
2019/05/21 Javascript
vscode 使用Prettier插件格式化配置使用代码详解
2020/08/10 Javascript
python使用BeautifulSoup分页网页中超链接的方法
2015/04/04 Python
在ironpython中利用装饰器执行SQL操作的例子
2015/05/02 Python
python使用urllib2提交http post请求的方法
2015/05/26 Python
在Django框架中运行Python应用全攻略
2015/07/17 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
Django框架实现的分页demo示例
2019/05/25 Python
Python秒算24点实现及原理详解
2019/07/29 Python
Python shutil模块用法实例分析
2019/10/02 Python
Python os库常用操作代码汇总
2020/11/03 Python
雅诗兰黛(Estee Lauder)英国官方网站:世界顶级化妆品牌
2016/12/29 全球购物
接待员岗位责任制
2014/02/10 职场文书
安全月宣传标语
2014/10/07 职场文书
学生检讨书范文
2015/01/27 职场文书
趣味运动会简讯
2015/07/20 职场文书
公司规章制度范本
2015/08/03 职场文书
自考生自我评价
2019/06/21 职场文书
Vue中插槽slot的使用方法与应用场景详析
2021/06/08 Vue.js
Python使用openpyxl批量处理数据
2021/06/23 Python