ホームページ  >  記事  >  バックエンド開発  >  thinkPHP の U メソッドによって渡される暗号化パラメータの関数の分析

thinkPHP の U メソッドによって渡される暗号化パラメータの関数の分析

不言
不言オリジナル
2018-06-09 14:22:202240ブラウズ

この記事では、thinkPHP の U メソッド暗号化パラメータ転送関数を主に紹介し、get でパラメータを渡すときに U メソッドを使用してパラメータを暗号化する thinkPHP の関連操作テクニックを例と組み合わせて分析します。

##この記事の例では、thinkPHP での U メソッドの暗号化パラメーター受け渡し関数について説明します。参考のために皆さんと共有してください。詳細は次のとおりです。

thinkPHP の U メソッドは、URL アドレスを組み立てるために使用されます。対応する URL アドレスは、現在の URL モードと設定に基づいて自動的に生成できます。

具体的なコードは次のとおりです。

<?php
/**
 * 简单对称加密算法之加密
 * @param String $string 需要加密的字串
 * @param String $skey 加密EKY
 */
function encode($string = &#39;&#39;, $skey = &#39;yourkey&#39;) {
 $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(&#39;=&#39;, &#39;+&#39;, &#39;/&#39;), array(&#39;O0O0O&#39;, &#39;o000o&#39;, &#39;oo00o&#39;), join(&#39;&#39;, $strArr));
}
/**
 * 简单对称加密算法之解密
 * @param String $string 需要解密的字串
 * @param String $skey 解密KEY
 */
function decode($string = &#39;&#39;, $skey = &#39;yourkey&#39;) {
 $strArr = str_split(str_replace(array(&#39;O0O0O&#39;, &#39;o000o&#39;, &#39;oo00o&#39;), array(&#39;=&#39;, &#39;+&#39;, &#39;/&#39;), $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(&#39;&#39;, $strArr));
}
/**
将以上两个函数放在Common下的function.php公共函数中。
用法:常用语get传参
 前端:<a href="<{:U(&#39;Index/view&#39;,array(&#39;id&#39;=>encode($data[&#39;id&#39;]),&#39;name&#39;=>encode($data[&#39;title&#39;])))}>" rel="external nofollow" ><{$data.title}></a>
 后台:view方法中:$id = decode(trim(I("get.id")));即可还原
 view模板中:<font color="red"><{$Think.get.name|decode}></font>
**/
/*建议将key自行修改,尽量不要太长,不然url很长,适当即可,加密性能很好,亲测*/

以上がこの記事の全内容であり、皆様の学習に役立つことを願っています。 PHPの中国語サイトです!

関連する推奨事項:

ThinkPHP の N メソッドの分析

ThinkPHP の I メソッドの使用分析

#

以上がthinkPHP の U メソッドによって渡される暗号化パラメータの関数の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。