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 相关文章推荐
php5中类的学习
Mar 28 PHP
简单的php写入数据库类代码分享
Jul 26 PHP
PHP开发框架Laravel数据库操作方法总结
Sep 03 PHP
php生成唯一的订单函数分享
Feb 02 PHP
WAMP环境中扩展oracle函数库(oci)
Jun 26 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
Jul 01 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
Nov 08 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
Jan 17 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
May 24 PHP
laravel框架与其他框架的详细对比
Oct 23 PHP
Laravel框架Blade模板简介及模板继承用法分析
Dec 03 PHP
PHP7移除的扩展和SAPI
Mar 09 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中fwrite与file_put_contents性能测试代码
2013/08/02 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
2014/07/08 PHP
php调用shell的方法
2014/11/05 PHP
yii框架搜索分页modle写法
2016/12/19 PHP
jquery一般方法介绍 入门参考
2011/06/21 Javascript
在HTML代码中使用JavaScript代码的例子
2014/10/16 Javascript
JQuery中clone方法复制节点
2015/05/18 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
javascript中checkbox使用方法简单实例演示
2015/11/17 Javascript
JavaScript中ES6字符串扩展方法
2016/08/26 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
JavaScript类的继承方法小结【组合继承分析】
2018/07/11 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
JavaScript常用工具函数大全
2020/05/06 Javascript
Python内置的字符串处理函数详细整理(覆盖日常所用)
2014/08/19 Python
Python字符串拼接六种方法介绍
2017/12/18 Python
Python3之字节串bytes与字节数组bytearray的使用详解
2019/08/27 Python
numpy.linalg.eig() 计算矩阵特征向量方式
2019/11/29 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
2020/06/08 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
python中zip()函数遍历多个列表方法
2021/02/18 Python
雅诗兰黛(Estee Lauder)英国官方网站:世界顶级化妆品牌
2016/12/29 全球购物
J2EE面试题大全
2016/08/06 面试题
社区工作者先进事迹
2014/01/18 职场文书
财经学院自荐信范文
2014/02/02 职场文书
党员志愿者活动方案
2014/08/28 职场文书
基层党员四风问题自我剖析材料
2014/09/29 职场文书
最美乡村教师观后感
2015/06/11 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书
创业分两种人:那么哪些适合创业?,哪些适合不适合创业呢?
2019/08/23 职场文书
如何使用flask将模型部署为服务
2021/05/13 Python
Python 用户输入和while循环的操作
2021/05/23 Python
mysql的数据压缩性能对比详情
2021/11/07 MySQL
纯CSS打字动画的实现示例
2022/08/05 HTML / CSS