本文实例讲述了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程序设计有所帮助。