From 3c9ad99d4a5eeeb53f7380315197e7133f84d10c Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期二, 27 十月 2020 14:57:33 +0800
Subject: [PATCH] 2020-10-27 1V2.510271 1.密码规则修改,修改为:密码必须为8-20个字符,包含字母、数字和符号。 2.APP本地增加登录,密码错误锁定,连续错误5次登录锁定,锁定5分钟。 3.登录界面,增加登录账号的邮箱格式匹配检测。 4.增加iOS越狱和Androidr Root检测,强制关闭APP。

---
 Crabtree/SmartHome/HDL/Operation/UserConfig.cs |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 54 insertions(+), 2 deletions(-)

diff --git a/Crabtree/SmartHome/HDL/Operation/UserConfig.cs b/Crabtree/SmartHome/HDL/Operation/UserConfig.cs
index 93db11b..6074190 100644
--- a/Crabtree/SmartHome/HDL/Operation/UserConfig.cs
+++ b/Crabtree/SmartHome/HDL/Operation/UserConfig.cs
@@ -7,7 +7,7 @@
     [System.Serializable]
     public class UserConfig
     {
-        static string configFile = "UserConfig";
+        public static string configFile = "UserConfig";
 
         static UserConfig instance;
         public static UserConfig Instance {
@@ -28,7 +28,7 @@
                             instance.HideDeviceTypes.Add (SimpleControl.R.MyInternationalizationString.Sensor);
                             instance.HideDeviceTypes.Add (SimpleControl.R.MyInternationalizationString.Environmental);
                             instance.HideDeviceTypes.Add (SimpleControl.R.MyInternationalizationString.MusicModel);
-                            instance.HideDeviceTypes.Add (SimpleControl.R.MyInternationalizationString.UniversalDevice);
+                            //instance.HideDeviceTypes.Add (SimpleControl.R.MyInternationalizationString.UniversalDevice);
                         } else {
                             instance = temp;
                         }
@@ -154,6 +154,10 @@
             set {
                 currentRegion = value;
                 CheckIfNeedGetMasterAccountToken ();
+                //鍒囨崲浣忓畢 璁剧疆鏈湴鍔犲瘑Key
+                SetLocalEncryptKey ();
+
+
             }
             get {
                 if (currentRegion == null) {
@@ -256,6 +260,54 @@
 
         public List<string> RometoUserInfoKeys = new List<string> ();
 
+
+        /// <summary>
+        /// 鏈湴閫氫俊鍔犲瘑Key
+        /// </summary>
+        public string LocalEncryptKey = string.Empty;
+
+
+        /// <summary>
+        /// 鏄惁鍔犲瘑瀵嗙爜楠岃瘉閫氳繃
+        /// </summary>
+        public bool EncryptedPasswordCorrect = true;
+
+        /// <summary>
+        /// 鏄惁鍔犲瘑
+        /// </summary>
+        public bool IsLocalEncrypt = false;
+        /// <summary>
+        /// 璁剧疆涓洪粯璁ゅ姞瀵嗭紝骞惰绠楀姞瀵咾ey
+        /// </summary>
+        private void SetLocalEncryptKey ()
+        {
+            if (currentRegion != null) {
+                IsLocalEncrypt = true;
+                GenerateLocalEncryptionKey ();
+                //LocalEncryptKey = CommonPage.MyEncodingUTF8.GetString (GenerateLocalEncryptionKey ());
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇16浣嶇殑key byte []
+        /// </summary>
+        /// <returns></returns>
+        public byte [] GenerateLocalEncryptionKey ()
+        {
+            byte [] aseKey = new byte [16];
+            try {
+                //鐢熸垚鍔犲瘑Key
+                byte [] homeId =  System.Text.Encoding.ASCII.GetBytes (currentRegion.Id);
+                Array.Copy (homeId, 0, aseKey, 0, 16 < homeId.Length ? 16 : homeId.Length);
+                LocalEncryptKey = System.Text.Encoding.ASCII.GetString (aseKey);
+                return aseKey;
+
+            } catch {
+                return aseKey;
+            }
+
+        }
+
         public string MasterAccountToken = "";
         public string MasterAccountRequestBaseUrl = "";
         /// <summary>

--
Gitblit v1.8.0