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 相关文章推荐
PHP脚本的10个技巧(4)
Oct 09 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
Oct 04 PHP
php制作文本式留言板
Mar 18 PHP
php生成不重复随机数、数组的4种方法分享
Mar 30 PHP
ThinkPHP发送邮件示例代码
Oct 08 PHP
浅谈PHP命令执行php文件需要注意的问题
Dec 16 PHP
详解PHP防止盗链防止迅雷下载的方法
Apr 26 PHP
PHP 序列化和反序列化函数实例详解
Jul 18 PHP
PHP实现的MD5结合RSA签名算法实例
Oct 07 PHP
Laravel框架中自定义模板指令总结
Dec 17 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 PHP
深入理解PHP+Mysql分布式事务与解决方案
Dec 03 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
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
2010/07/04 PHP
PHP新手用的Insert和Update语句构造类
2012/03/31 PHP
在laravel框架中实现封装公共方法全局调用
2019/10/14 PHP
Display SQL Server Login Mode
2007/06/21 Javascript
NodeJS制作爬虫全过程(续)
2014/12/22 NodeJs
Jquery 实现grid绑定模板
2015/01/28 Javascript
JavaScript 数组中最大最小值
2016/06/05 Javascript
AngularJS 2.0入门权威指南
2016/10/08 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
2017/02/18 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
2017/03/05 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
jquery实现全选、全不选以及单选功能
2017/03/23 jQuery
vue实现全选、反选功能
2020/11/17 Javascript
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
jQuery实现移动端图片上传预览组件的方法分析
2020/05/01 jQuery
让python同时兼容python2和python3的8个技巧分享
2014/07/11 Python
python time模块用法实例详解
2014/09/11 Python
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
零基础写python爬虫之使用Scrapy框架编写爬虫
2014/11/07 Python
Python中使用装饰器时需要注意的一些问题
2015/05/11 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
Python2.7 实现引入自己写的类方法
2018/04/29 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
python轮询机制控制led实例
2020/05/03 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
2020/12/17 Python
servlet面试题
2012/08/20 面试题
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
党员廉洁自律个人总结
2015/02/13 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
青年联谊会致辞
2015/07/31 职场文书
导游词之河北邯郸
2019/09/12 职场文书
读《庄子》有感:美而不自知
2019/11/06 职场文书
OpenFeign实现远程调用
2022/08/14 Java/Android