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
PHP 获取客户端真实IP地址多种方法小结
May 15 PHP
Ping服务的php实现方法,让网站快速被收录
Feb 04 PHP
C#使用PHP服务端的Web Service通信实例
Apr 08 PHP
PHP中$_SERVER使用说明
Jul 05 PHP
smarty高级特性之过滤器的使用方法
Dec 25 PHP
nginx下安装php7+php5
Jul 31 PHP
PHP实现图片的等比缩放和Logo水印功能示例
May 04 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
CI框架网页缓存简单用法分析
Dec 26 PHP
利用PHP如何统计Nginx日志的User Agent数据
Mar 06 PHP
Laravel修改验证提示信息为中文的示例
Oct 23 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+mysql扎实个人基本功
2008/03/27 PHP
php 将excel导入mysql
2009/11/09 PHP
PHP中的switch语句的用法实例详解
2015/10/21 PHP
php socket通信(tcp/udp)实例分析
2016/02/14 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
PHP依赖注入原理与用法分析
2018/08/21 PHP
php链式操作的实现方式分析
2019/08/12 PHP
PHP使用phpunit进行单元测试示例
2019/09/23 PHP
Js+XML 操作
2006/09/20 Javascript
Array.prototype.slice 使用扩展
2010/06/09 Javascript
面向对象的Javascript之二(接口实现介绍)
2012/01/27 Javascript
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
基于jQuery实现多层次的手风琴效果附源码
2015/09/21 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
2015/11/02 Javascript
js实现图片缓慢放大缩小效果
2016/08/02 Javascript
详细分析Javascript中创建对象的四种方式
2016/08/17 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
promise处理多个相互依赖的异步请求(实例讲解)
2017/08/03 Javascript
详解http访问解析流程原理
2017/10/18 Javascript
javaScript实现游戏倒计时功能
2018/11/17 Javascript
jQuery事件blur()方法的使用实例讲解
2019/03/30 jQuery
pandas重新生成索引的方法
2018/11/06 Python
美赞臣营养马来西亚旗舰店:Enfagrow马来西亚
2019/07/26 全球购物
个人求职简历中英文自我评价
2013/12/16 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
函授生自我鉴定
2014/03/25 职场文书
财务担保书范文
2014/04/02 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
财务助理岗位职责范本
2014/10/09 职场文书
2014收银员工作总结范文
2014/12/16 职场文书
瘦西湖导游词
2015/02/03 职场文书
情况说明书怎么写
2015/10/08 职场文书
js实现模拟购物商城案例
2021/05/18 Javascript
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang
python神经网络学习 使用Keras进行简单分类
2022/05/04 Python