浏览代码

加解密

pengchanglu 3 年之前
父节点
当前提交
649e2500cb
共有 2 个文件被更改,包括 48 次插入5 次删除
  1. 43 5
      application/common.php
  2. 5 0
      application/index/controller/Index.php

+ 43 - 5
application/common.php

@@ -169,11 +169,10 @@ if (!function_exists('copydirs')) {
         if (!is_dir($dest)) {
             mkdir($dest, 0755, true);
         }
-        foreach (
-            $iterator = new RecursiveIteratorIterator(
-                new RecursiveDirectoryIterator($source, RecursiveDirectoryIterator::SKIP_DOTS),
-                RecursiveIteratorIterator::SELF_FIRST
-            ) as $item
+        foreach ($iterator = new RecursiveIteratorIterator(
+            new RecursiveDirectoryIterator($source, RecursiveDirectoryIterator::SKIP_DOTS),
+            RecursiveIteratorIterator::SELF_FIRST
+        ) as $item
         ) {
             if ($item->isDir()) {
                 $sontDir = $dest . DS . $iterator->getSubPathName();
@@ -511,4 +510,43 @@ if (!function_exists('build_suffix_image')) {
 EOT;
         return $icon;
     }
+
+    if (!function_exists('encrypt')) {
+        /**
+        * @desc加密
+        * @param string $str 待加密字符串
+        * @param string $key 密钥
+        * @return string
+        */
+        function encrypt($str, $key = 'pig')
+        {
+            $mixStr = md5(date('Y-m-d H:i:s').rand(0, 1000));
+            $tmp = '';
+            $strLen = strlen($str);
+            for ($i=0, $j=0; $i<$strLen; $i++, $j++) {
+                $j = $j == 32 ? 0 : $j;
+                $tmp .= $mixStr[$j].($str[$i] ^ $mixStr[$j]);
+            }
+            return base64_encode($key.$tmp);
+        }
+    }
+    if (!function_exists('decrypt')) {
+        /**
+        * @desc解密
+        * @param string $str 待解密字符串
+        * @param string $key 密钥
+        * @return string
+        */
+        function decrypt($str, $key = 'pig')
+        {
+            $str = base64_decode($str);
+            $str = substr($str, strLen($key));
+            $strLen = strlen($str);
+            $tmp = '';
+            for ($i=0; $i<$strLen; $i++) {
+                $tmp .= $str[$i] ^ $str[++$i];
+            }
+            return $tmp;
+        }
+    }
 }

+ 5 - 0
application/index/controller/Index.php

@@ -20,6 +20,11 @@ class Index extends Frontend
     {
         $code = $this->request->request('code');
         echo $code;
+        /**/
+        $encode = encrypt($code);
+        echo $encode;
+        echo decrypt($encode);
+
         return $this->view->fetch();
     }
 }