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函数)
Oct 09 PHP
php5 and xml示例
Nov 22 PHP
测试您的 PHP 水平的题目
May 30 PHP
php Xdebug 调试扩展的安装与使用.
Mar 13 PHP
php中定时计划任务的实现原理
Jan 08 PHP
PHP用strstr()函数阻止垃圾评论(通过判断a标记)
Sep 28 PHP
php实现Mongodb自定义方式生成自增ID的方法
Mar 23 PHP
php数组随机排序实现方法
Jun 13 PHP
四个PHP非常实用的功能
Sep 29 PHP
php去除二维数组的重复项方法
Nov 03 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
PHP实现正则匹配所有括号中的内容
Jun 22 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
星际争霸兵种名称对照表
2020/03/04 星际争霸
php实现三级级联下拉框
2016/04/17 PHP
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
Prototype使用指南之form.js
2007/01/10 Javascript
javascript 异常处理使用总结
2009/06/21 Javascript
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
jQuery ul标签下拉菜单演示代码
2010/12/11 Javascript
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
js jquery ajax的几种用法总结(及优缺点介绍)
2014/01/28 Javascript
js获取当前地址 JS获取当前URL的示例代码
2014/02/26 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
浅析创建javascript对象的方法
2016/05/13 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
React学习笔记之条件渲染(一)
2017/07/02 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
2017/08/16 Javascript
详解vue-cli项目中的proxyTable跨域问题小结
2018/02/09 Javascript
layui 解决form表单点击无反应的问题
2019/10/25 Javascript
js实现简单进度条效果
2020/03/25 Javascript
JavaScript快速调试的两个技巧
2020/11/04 Javascript
Python用imghdr模块识别图片格式实例解析
2018/01/11 Python
python在非root权限下的安装方法
2018/01/23 Python
python绘制圆柱体的方法
2018/07/02 Python
TensorFlow 合并/连接数组的方法
2018/07/27 Python
Python多进程池 multiprocessing Pool用法示例
2018/09/07 Python
5分钟 Pipenv 上手指南
2018/12/20 Python
python根据文章标题内容自动生成摘要的实例
2019/02/21 Python
Python 的字典(Dict)是如何存储的
2019/07/05 Python
浅析关于Keras的安装(pycharm)和初步理解
2020/10/23 Python
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
新西兰第一的行李箱网站:luggage.co.nz
2019/07/22 全球购物
客户表扬信范文
2014/01/10 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
实习单位证明范例
2014/11/17 职场文书
奖励通知
2015/04/22 职场文书
亮剑观后感600字
2015/06/05 职场文书
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫