فهرست منبع

找回加解密方法

pengchanglu 3 سال پیش
والد
کامیت
682b560a5f
1فایلهای تغییر یافته به همراه50 افزوده شده و 5 حذف شده
  1. 50 5
      application/common.php

+ 50 - 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();
@@ -512,3 +511,49 @@ 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($tmp.$key);
+    }
+}
+
+if (!function_exists('decrypt')) {
+    /**
+    * @desc解密
+    * @param string $str 待解密字符串
+    * @param string $key 密钥
+    * @return string
+    */
+    function decrypt($str, $key = 'pig')
+    {
+        $str = base64_decode($str);
+        if (!strpos($str, $key)) {
+            return '';
+        }
+        $str = substr($str, 0, -strLen($key));
+        $strLen = strlen($str);
+        $tmp = '';
+        for ($i=0; $i<$strLen; $i++) {
+            if (!isset($str[$i]) || !isset($str[$i+1])) {
+                break;//错误编码
+            }
+            $tmp .= $str[$i] ^ $str[++$i];
+        }
+        return $tmp;
+    }
+}