Просмотр исходного кода

加密的密钥必须是32位!!!

zouyong 5 лет назад
Родитель
Сommit
586cc76b85
2 измененных файлов с 14 добавлено и 8 удалено
  1. 1 1
      assets/script/mk/utils/EncryptUtil.ts
  2. 13 7
      assets/script/mk/utils/StorageUtil.ts

+ 1 - 1
assets/script/mk/utils/EncryptUtil.ts

@@ -47,7 +47,7 @@ export class EncryptUtil {
      * 
      * aes加密
      * @param   word    需要加密的字符串
-     * @param   tkey    加密key,一般为sessionkey
+     * @param   tkey    !!!加密key,32位字符串,一般为sessionkey
      * @param   appid   游戏的appid
      * @param   state   true 存包长 false /r/n
      * @returns 

+ 13 - 7
assets/script/mk/utils/StorageUtil.ts

@@ -12,12 +12,14 @@ export default class StorageUtil {
     public getStorage(key: string, decrypt = true): any {
         let value = cc.sys.localStorage.getItem(key);
         if (value) {
-            if (decrypt) {
-
-            }
             try {
-                let new_value = JSON.parse(value)
-                return new_value;
+                if (decrypt) {
+                    value = mk.encrypt.decrypt(value, gData.storageData.storageKey, gData.appData.appId);
+                }
+                else {
+                    value = JSON.parse(value);
+                }
+                return value;
             }
             catch (err) {
                 return value;
@@ -37,14 +39,18 @@ export default class StorageUtil {
     public setStorage(key: string, value: any, encrypt: boolean = true) {
         if (encrypt) {
             value = mk.encrypt.encrypt(value, gData.storageData.storageKey, gData.appData.appId);
+            cc.sys.localStorage.setItem(key, value);
         }
-        cc.sys.localStorage.setItem(key, JSON.stringify(value));
+        else {
+            cc.sys.localStorage.setItem(key, JSON.stringify(value));
+        }
+
     }
 
     /**
      * 清除所有缓存
      */
-    public clear(){
+    public clear() {
         cc.sys.localStorage.clear();
     }
 }