thinkPHP中U方法加密传递参数功能示例


Posted in PHP onMay 29, 2018

本文实例讲述了thinkPHP中U方法加密传递参数功能。分享给大家供大家参考,具体如下:

thinkPHP中的U方法用于对URL地址进行组装。可自动根据当前的URL模式和设置生成对应的URL地址。基本使用可参考 https://3water.com/article/51057.htm 

具体代码如下:

<?php
/**
 * 简单对称加密算法之加密
 * @param String $string 需要加密的字串
 * @param String $skey 加密EKY
 */
function encode($string = '', $skey = 'yourkey') {
 $strArr = str_split(base64_encode($string));
 $strCount = count($strArr);
 foreach (str_split($skey) as $key => $value)
  $key < $strCount && $strArr[$key].=$value;
 return str_replace(array('=', '+', '/'), array('O0O0O', 'o000o', 'oo00o'), join('', $strArr));
}
/**
 * 简单对称加密算法之解密
 * @param String $string 需要解密的字串
 * @param String $skey 解密KEY
 */
function decode($string = '', $skey = 'yourkey') {
 $strArr = str_split(str_replace(array('O0O0O', 'o000o', 'oo00o'), array('=', '+', '/'), $string), 2);
 $strCount = count($strArr);
 foreach (str_split($skey) as $key => $value)
  $key <= $strCount && $strArr[$key][1] === $value && $strArr[$key] = $strArr[$key][0];
 return base64_decode(join('', $strArr));
}
/**
将以上两个函数放在Common下的function.php公共函数中。
用法:常用语get传参
 前端:<a href="<{:U('Index/view',array('id'=>encode($data['id']),'name'=>encode($data['title'])))}>" rel="external nofollow" ><{$data.title}></a>
 后台:view方法中:$id = decode(trim(I("get.id")));即可还原
 view模板中:<font color="red"><{$Think.get.name|decode}></font>
**/
/*建议将key自行修改,尽量不要太长,不然url很长,适当即可,加密性能很好,亲测*/

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
ip签名探针
Oct 09 PHP
一个php作的文本留言本的例子(二)
Oct 09 PHP
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
Nov 01 PHP
php实现字符串首字母大写和单词首字母大写的方法
Mar 14 PHP
php通过array_merge()函数合并两个数组的方法
Mar 18 PHP
PHP cURL初始化和执行方法入门级代码
May 28 PHP
php文件扩展名判断及获取文件扩展名的N种方法
Sep 12 PHP
PHP给文字内容中的关键字进行套红处理
Apr 12 PHP
CodeIgniter连贯操作的底层原理分析
May 17 PHP
php文件上传后端处理小技巧
May 22 PHP
redirect_uri参数错误的解决方法(必看)
Feb 16 PHP
PHP多进程之pcntl_fork的实例详解
Oct 15 PHP
在Laravel中使用DataTables插件的方法
May 29 #PHP
ThinkPHP实现的rsa非对称加密类示例
May 29 #PHP
PHP中实现中文字串截取无乱码的解决方法
May 29 #PHP
php实现表单提交上传文件功能
May 28 #PHP
PHP封装的非对称加密RSA算法示例
May 28 #PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
May 28 #PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
May 28 #PHP
You might like
星际争霸 Starcraft 游戏介绍
2020/03/14 星际争霸
PHP开发需要注意的安全问题
2010/09/01 PHP
php foreach循环中使用引用的问题
2013/11/06 PHP
thinkPHP中分页用法实例分析
2015/12/26 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
2009/09/15 Javascript
jQuery使用addClass()方法给元素添加多个class样式
2015/03/26 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
2015/08/30 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
Javascript复制实例详解
2016/01/28 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
2016/05/17 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
2016/07/01 Javascript
js实现符合国情的日期插件详解
2017/01/19 Javascript
使用vue.js在页面内组件监听scroll事件的方法
2018/09/11 Javascript
支付宝小程序自定义弹窗dialog插件的实现代码
2018/11/30 Javascript
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
使用HTML5和CSS3表单验证功能
2017/05/05 HTML / CSS
Elemental Herbology官网:英国美容品牌
2019/04/27 全球购物
俄罗斯家居用品购物网站:Евродом
2020/11/21 全球购物
叙述DBMS对数据控制功能有哪些
2016/06/12 面试题
毕业生个人求职的自我评价
2013/10/28 职场文书
夜班门卫岗位职责
2013/12/09 职场文书
高三体育教学反思
2014/01/29 职场文书
亲子拓展活动方案
2014/02/20 职场文书
个人贷款承诺书
2014/03/28 职场文书
公司总经理助理岗位职责
2014/07/09 职场文书
质监局领导班子对照检查材料思想汇报
2014/09/27 职场文书
什么是css原子化,有什么用?
2022/04/24 HTML / CSS