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 相关文章推荐
Apache设置虚拟WEB
Oct 09 PHP
PR值查询 | PageRank 查询
Dec 20 PHP
php.ini save_handler 修改不生效的解决办法
Jul 22 PHP
Yii实现多按钮保存与提交的方法
Dec 03 PHP
thinkPHP实现表单自动验证
Dec 24 PHP
简单介绍PHP的责任链编程模式
Aug 11 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
Dec 22 PHP
Zend Framework教程之模型Model基本规则和使用方法
Mar 04 PHP
PHP的openssl加密扩展使用小结(推荐)
Jul 18 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
Apr 20 PHP
PHP实现打包zip并下载功能
Jun 12 PHP
PHP中检查isset()和!empty()函数的必要性
Feb 13 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
S900/ ETON E1-XM 收音机
2021/03/02 无线电
php编程实现获取excel文档内容的代码实例
2011/06/28 PHP
PHP投票系统防刷票判断流程分析
2012/02/04 PHP
PHP cURL初始化和执行方法入门级代码
2015/05/28 PHP
PHP生成唯一ID之SnowFlake算法
2016/12/17 PHP
window.name代替cookie的实现代码
2010/11/28 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
2014/02/12 Javascript
jquery ajax局部加载方法详解(实现代码)
2016/05/12 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
微信小程序-拍照或选择图片并上传文件
2017/01/06 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
基于JavaScript实现瀑布流效果
2017/03/29 Javascript
浅谈react受控组件与非受控组件(小结)
2018/02/09 Javascript
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
JavaScript的词法结构精华篇
2018/10/17 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
jquery实现两个div中的元素相互拖动的方法分析
2020/04/05 jQuery
对python的输出和输出格式详解
2018/12/08 Python
Python玩转Excel的读写改实例
2019/02/22 Python
python3利用Socket实现通信的方法示例
2019/05/06 Python
numpy和pandas中数组的合并、拉直和重塑实例
2019/06/28 Python
使用python的turtle函数绘制一个滑稽表情
2020/02/28 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
2020/12/07 Python
css3加js做一个简单的3D行星运转效果实例代码
2017/01/18 HTML / CSS
10分钟理解CSS3 FlexBox弹性布局
2018/12/20 HTML / CSS
澳大利亚免息网上购物:Shop Zero
2016/09/17 全球购物
即时搜索数百万张门票:SeatsForEveryone.com
2018/08/26 全球购物
香港网上花店:FlowerAdvisor香港
2019/05/30 全球购物
财务工作者先进事迹材料
2014/01/17 职场文书
2014年元旦活动方案
2014/02/15 职场文书
公休请假条
2014/04/11 职场文书
计算机求职自荐信范文
2014/04/19 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
企业安全生产月活动总结
2014/07/05 职场文书
聋哑人盗窃罪辩护词
2015/05/21 职场文书
化工厂员工工作总结
2015/10/15 职场文书