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 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
Oct 09 PHP
PHP中文URL编解码(urlencode()rawurlencode()
Jul 03 PHP
php Smarty初体验二 获取配置信息
Aug 08 PHP
PHP中去掉字符串首尾空格的方法
May 19 PHP
PHP中extract()函数的妙用分析
Jul 11 PHP
PHP实现事件机制实例分析
Jun 26 PHP
学习php设计模式 php实现工厂模式(factory)
Dec 07 PHP
php计算给定日期所在周的开始日期和结束日期示例
Feb 06 PHP
PHP jQuery+Ajax结合写批量删除功能
May 19 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
Aug 21 PHP
php和asp语法上的区别总结
May 12 PHP
PHP实现微信提现(企业付款到零钱)
Aug 01 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获取某个目录大小的代码
2008/09/10 PHP
使用PHP遍历文件夹与子目录的函数代码
2011/09/26 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
php上传文件常见问题总结
2015/02/03 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
2010/04/25 Javascript
jQuery基础知识filter()和find()实例说明
2010/07/06 Javascript
简单实用jquery版三级联动select示例
2013/07/04 Javascript
javascript中typeof操作符和constucor属性检测
2015/02/26 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
详解JavaScript的Polymer框架中的通知交互
2015/07/29 Javascript
Vue.js如何优雅的进行form validation
2017/04/07 Javascript
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
JavaScript中常见内置函数用法示例
2018/05/14 Javascript
20个最常见的jQuery面试问题及答案
2018/05/23 jQuery
微信小程序框架的页面布局代码
2019/08/17 Javascript
js实现旋转的星空效果
2019/11/01 Javascript
在vue中使用回调函数,this调用无效的解决
2020/08/11 Javascript
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
python基础知识小结之集合
2015/11/25 Python
Python键盘输入转换为列表的实例
2018/06/23 Python
caffe binaryproto 与 npy相互转换的实例讲解
2018/07/09 Python
Python mutiprocessing多线程池pool操作示例
2019/01/30 Python
Python实现直方图均衡基本原理解析
2019/08/08 Python
python 6行代码制作月历生成器
2020/09/18 Python
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
企业管理部经理岗位职责
2013/12/24 职场文书
秘书英文求职信范文
2014/01/31 职场文书
表决心的诗句大全
2014/03/11 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
2016孝老爱亲模范事迹材料
2016/02/26 职场文书
MYSQL数据库使用UTF-8中文编码乱码的解决办法
2021/05/26 MySQL
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python
《金肉人》米特&《航海王》阿鹤声优松岛实因胰脏癌去世 享寿81岁
2022/04/13 日漫