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编程开发“虚拟域名”系统
Oct 09 PHP
php使用curl检测网页是否被百度收录的示例分享
Jan 31 PHP
PHP判断变量是否为0的方法
Feb 08 PHP
ThinkPHP基本的增删查改操作实例教程
Aug 22 PHP
php实现修改新闻时删除图片的方法
May 12 PHP
windows server 2008/2012安装php iis7 mysql环境搭建教程
Jun 30 PHP
PHP常用的三种设计模式汇总
Aug 28 PHP
phpcms的分类名称和类别名称的调用
Jan 05 PHP
Laravel5.7框架安装与使用学习笔记图文详解
Apr 02 PHP
Yii 使用intervention/image拓展实现图像处理功能
Jun 22 PHP
Centos7 Yum安装PHP7.2流程教程详解
Jul 02 PHP
在Laravel的Model层做数据缓存的实现
Sep 26 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
PHP程序漏洞产生的原因分析与防范方法说明
2014/03/06 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
jquery 添加节点的几种方法介绍
2013/09/04 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
JavaScript学习总结之JS、AJAX应用
2016/01/29 Javascript
jquery动态切换背景图片的简单实现方法
2016/05/14 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
nodejs 实现钉钉ISV接入的加密解密方法
2017/01/16 NodeJs
js实现贪吃蛇小游戏(容易理解)
2017/01/22 Javascript
bootstrap fileinput 插件使用项目总结(经验)
2017/02/22 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
2017/03/29 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
详解jquery和vue对比
2019/04/16 jQuery
基于JS实现快速读取TXT文件
2020/08/25 Javascript
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
解决Django no such table: django_session的问题
2020/04/07 Python
python+requests实现接口测试的完整步骤
2020/10/27 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
canvas画图被放大且模糊的解决方法
2020/08/11 HTML / CSS
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
波兰化妆品和护肤品购物网站:eKobieca
2019/08/30 全球购物
Java模拟试题
2014/11/10 面试题
初中生学习生活的自我评价
2013/11/20 职场文书
《月迹》教学反思
2014/02/19 职场文书
小学生环保演讲稿
2014/04/25 职场文书
微笑服务标语
2014/06/24 职场文书
创先争优承诺书
2015/01/20 职场文书
三年级上册科学教学计划
2015/01/21 职场文书
写给女朋友的检讨书
2015/05/06 职场文书
现实表现证明材料
2015/06/19 职场文书
英语导游欢迎词
2015/09/30 职场文书
《月球之谜》教学反思
2016/02/20 职场文书
2019通用版导游词范本!
2019/08/07 职场文书
Python爬虫实战之爬取京东商品数据并实实现数据可视化
2021/06/07 Python
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js