热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

phpthinkphpu,thinkPHP中U方法加密传递参数功能示例

本文实例讲述了thinkPHP中U方法加密传递参数功能。分享给大家供大家参考,具体如下:thinkPHP中的U方法用于对URL地址进行组装。可自动根据当

本文实例讲述了thinkPHP中U方法加密传递参数功能。分享给大家供大家参考,具体如下:

thinkPHP中的U方法用于对URL地址进行组装。可自动根据当前的URL模式和设置生成对应的URL地址。基本使用可参考 https://www.jb51.net/article/51057.htm

具体代码如下:

/**

* 简单对称加密算法之加密

* @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].&#61;$value;

return str_replace(array(&#39;&#61;&#39;, &#39;&#43;&#39;, &#39;/&#39;), array(&#39;O0O0O&#39;, &#39;o000o&#39;, &#39;oo00o&#39;), join(&#39;&#39;, $strArr));

}

/**

* 简单对称加密算法之解密

* &#64;param String $string 需要解密的字串

* &#64;param String $skey 解密KEY

*/

function decode($string &#61; &#39;&#39;, $skey &#61; &#39;yourkey&#39;) {

$strArr &#61; str_split(str_replace(array(&#39;O0O0O&#39;, &#39;o000o&#39;, &#39;oo00o&#39;), array(&#39;&#61;&#39;, &#39;&#43;&#39;, &#39;/&#39;), $string), 2);

$strCount &#61; count($strArr);

foreach (str_split($skey) as $key &#61;> $value)

$key <&#61; $strCount && $strArr[$key][1] &#61;&#61;&#61; $value && $strArr[$key] &#61; $strArr[$key][0];

return base64_decode(join(&#39;&#39;, $strArr));

}

/**

将以上两个函数放在Common下的function.php公共函数中。

用法&#xff1a;常用语get传参

前端&#xff1a;

后台&#xff1a;view方法中&#xff1a;$id &#61; decode(trim(I("get.id")));即可还原

view模板中&#xff1a;

**/

/*建议将key自行修改&#xff0c;尽量不要太长&#xff0c;不然url很长&#xff0c;适当即可&#xff0c;加密性能很好&#xff0c;亲测*/

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。



推荐阅读
author-avatar
为我有方
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有