Browse Source

优化GetIDMKeys函数处理机制。

Jeff 3 năm trước cách đây
mục cha
commit
2b91dc1bfb
1 tập tin đã thay đổi với 139 bổ sung0 xóa
  1. 139 0
      FactoryTool_CShare/Business/CommonMethod.cs

+ 139 - 0
FactoryTool_CShare/Business/CommonMethod.cs

@@ -529,136 +529,275 @@ namespace MOKA_Factory_Tools
                     Dictionary<string, string> data = JsonConvert.DeserializeObject<Dictionary<string, string>>(jObject["data"].ToString());
                     if (data != null)
                     {
+                        Func<string, string, bool> CheckMD5 = (data, md5) =>
+                        {
+                            if (data == null)
+                                return true;
+                            
+                            if (!GetMD5.GetStrMd5(data).Equals(md5, StringComparison.OrdinalIgnoreCase))
+                                return false;
+                            
+                            return true;
+                        };
+
                         if (data.ContainsKey("mac") && data.ContainsKey("mac_md5"))
                         {
                             keys.Mac.data = data["mac"];
                             keys.Mac.md5 = data["mac_md5"];
+
+                            if ( !CheckMD5(keys.Mac.data, keys.Mac.md5) )
+                            {
+                                msg = string.Format("Mac Key Value md5 Is Incorrect: data={0}, md5={1}", keys.Mac.data, keys.Mac.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("btMac") && data.ContainsKey("btMac_md5"))
                         {
                             keys.BT_MAC.data = data["btMac"];
                             keys.BT_MAC.md5 = data["btMac_md5"];
+
+                            if (!CheckMD5(keys.BT_MAC.data, keys.BT_MAC.md5))
+                            {
+                                msg = string.Format("BT_MAC Key Value md5 Is Incorrect: data={0}, md5={1}", keys.BT_MAC.data, keys.BT_MAC.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("wifiMac") && data.ContainsKey("wifiMac_md5"))
                         {
                             keys.WiFi_MAC.data = data["wifiMac"];
                             keys.WiFi_MAC.md5 = data["wifiMac_md5"];
+
+                            if (!CheckMD5(keys.WiFi_MAC.data, keys.WiFi_MAC.md5))
+                            {
+                                msg = string.Format("WiFi_MAC Key Value md5 Is Incorrect: data={0}, md5={1}", keys.WiFi_MAC.data, keys.WiFi_MAC.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("deviceid") && data.ContainsKey("deviceid_md5"))
                         {
                             keys.DID.data = data["deviceid"];
                             keys.DID.md5 = data["deviceid_md5"];
+
+                            if (!CheckMD5(keys.DID.data, keys.DID.md5))
+                            {
+                                msg = string.Format("DID Key Value md5 Is Incorrect: data={0}, md5={1}", keys.DID.data, keys.DID.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("hdcp") && data.ContainsKey("hdcp_md5"))
                         {
                             keys.HDCP.data = data["hdcp"];
                             keys.HDCP.md5 = data["hdcp_md5"];
+
+                            if (!CheckMD5(keys.HDCP.data, keys.HDCP.md5))
+                            {
+                                msg = string.Format("HDCP Key Value md5 Is Incorrect: data={0}, md5={1}", keys.HDCP.data, keys.HDCP.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("hdcp2") && data.ContainsKey("hdcp2_md5"))
                         {
                             keys.HDCP22.data = data["hdcp2"];
                             keys.HDCP22.md5 = data["hdcp2_md5"];
+
+                            if (!CheckMD5(keys.HDCP22.data, keys.HDCP22.md5))
+                            {
+                                msg = string.Format("HDCP22 Key Value md5 Is Incorrect: data={0}, md5={1}", keys.HDCP22.data, keys.HDCP22.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("ci") && data.ContainsKey("ci_md5"))
                         {
                             keys.CI_plus.data = data["ci"];
                             keys.CI_plus.md5 = data["ci_md5"];
+
+                            if (!CheckMD5(keys.CI_plus.data, keys.CI_plus.md5))
+                            {
+                                msg = string.Format("CI_plus Key Value md5 Is Incorrect: data={0}, md5={1}", keys.CI_plus.data, keys.CI_plus.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("ecp") && data.ContainsKey("ecp_md5"))
                         {
                             keys.ECP.data = data["ecp"];
                             keys.ECP.md5 = data["ecp_md5"];
+
+                            if (!CheckMD5(keys.ECP.data, keys.ECP.md5))
+                            {
+                                msg = string.Format("ECP Key Value md5 Is Incorrect: data={0}, md5={1}", keys.ECP.data, keys.ECP.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("acas") && data.ContainsKey("acas_md5"))
                         {
                             keys.ACASKey_Data.data = data["acas"];
                             keys.ACASKey_Data.md5 = data["acas_md5"];
+
+                            if (!CheckMD5(keys.ACASKey_Data.data, keys.ACASKey_Data.md5))
+                            {
+                                msg = string.Format("ACASKey_Data Key Value md5 Is Incorrect: data={0}, md5={1}", keys.ACASKey_Data.data, keys.ACASKey_Data.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("lek") && data.ContainsKey("lek_md5"))
                         {
                             keys.LEK.data = data["lek"];
                             keys.LEK.md5 = data["lek_md5"];
+
+                            if (!CheckMD5(keys.LEK.data, keys.LEK.md5))
+                            {
+                                msg = string.Format("LEK Key Value md5 Is Incorrect: data={0}, md5={1}", keys.LEK.data, keys.LEK.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("pek") && data.ContainsKey("pek_md5"))
                         {
                             keys.PEK.data = data["pek"];
                             keys.PEK.md5 = data["pek_md5"];
+
+                            if (!CheckMD5(keys.PEK.data, keys.PEK.md5))
+                            {
+                                msg = string.Format("PEK Key Value md5 Is Incorrect: data={0}, md5={1}", keys.PEK.data, keys.PEK.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("playready") && data.ContainsKey("playready_md5"))
                         {
                             keys.Playready.data = data["playready"];
                             keys.Playready.md5 = data["playready_md5"];
+
+                            if (!CheckMD5(keys.Playready.data, keys.Playready.md5))
+                            {
+                                msg = string.Format("Playready Key Value md5 Is Incorrect: data={0}, md5={1}", keys.Playready.data, keys.Playready.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("netfilx") && data.ContainsKey("netfilx_md5"))
                         {
                             keys.ESN.data = data["netfilx"];
                             keys.ESN.md5 = data["netfilx_md5"];
+
+                            if (!CheckMD5(keys.ESN.data, keys.ESN.md5))
+                            {
+                                msg = string.Format("ESN Key Value md5 Is Incorrect: data={0}, md5={1}", keys.ESN.data, keys.ESN.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("hash") && data.ContainsKey("hash_md5"))
                         {
                             keys.Hashkey.data = data["hash"];
                             keys.Hashkey.md5 = data["hash_md5"];
+
+                            if (!CheckMD5(keys.Hashkey.data, keys.Hashkey.md5))
+                            {
+                                msg = string.Format("Hashkey Key Value md5 Is Incorrect: data={0}, md5={1}", keys.Hashkey.data, keys.Hashkey.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("mgk") && data.ContainsKey("mgk_md5"))
                         {
                             keys.MGK.data = data["mgk"];
                             keys.MGK.md5 = data["mgk_md5"];
+
+                            if (!CheckMD5(keys.MGK.data, keys.MGK.md5))
+                            {
+                                msg = string.Format("MGK Key Value md5 Is Incorrect: data={0}, md5={1}", keys.MGK.data, keys.MGK.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("youtube") && data.ContainsKey("youtube_md5"))
                         {
                             keys.YouTube_KEY.data = data["youtube"];
                             keys.YouTube_KEY.md5 = data["youtube_md5"];
+
+                            if (!CheckMD5(keys.YouTube_KEY.data, keys.YouTube_KEY.md5))
+                            {
+                                msg = string.Format("YouTube_KEY Key Value md5 Is Incorrect: data={0}, md5={1}", keys.YouTube_KEY.data, keys.YouTube_KEY.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("fairplay") && data.ContainsKey("fairplay_md5"))
                         {
                             keys.Fairplay.data = data["fairplay"];
                             keys.Fairplay.md5 = data["fairplay_md5"];
+
+                            if (!CheckMD5(keys.Fairplay.data, keys.Fairplay.md5))
+                            {
+                                msg = string.Format("Fairplay Key Value md5 Is Incorrect: data={0}, md5={1}", keys.Fairplay.data, keys.Fairplay.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("widevine") && data.ContainsKey("widevine_md5"))
                         {
                             keys.Widevine.data = data["widevine"];
                             keys.Widevine.md5 = data["widevine_md5"];
+
+                            if (!CheckMD5(keys.Widevine.data, keys.Widevine.md5))
+                            {
+                                msg = string.Format("Widevine Key Value md5 Is Incorrect: data={0}, md5={1}", keys.Widevine.data, keys.Widevine.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("attention") && data.ContainsKey("attention_md5"))
                         {
                             keys.Attestation.data = data["attention"];
                             keys.Attestation.md5 = data["attention_md5"];
+
+                            if (!CheckMD5(keys.Attestation.data, keys.Attestation.md5))
+                            {
+                                msg = string.Format("Attestation Key Value md5 Is Incorrect: data={0}, md5={1}", keys.Attestation.data, keys.Attestation.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("dsn") && data.ContainsKey("dsn_md5"))
                         {
                             keys.DSN.data = data["dsn"];
                             keys.DSN.md5 = data["dsn_md5"];
+
+                            if (!CheckMD5(keys.DSN.data, keys.DSN.md5))
+                            {
+                                msg = string.Format("DSN Key Value md5 Is Incorrect: data={0}, md5={1}", keys.DSN.data, keys.DSN.md5);
+                                goto end;
+                            }
                         }
 
                         if (data.ContainsKey("dak") && data.ContainsKey("dak_md5"))
                         {
                             keys.DAK.data = data["dak"];
                             keys.DAK.md5 = data["dak_md5"];
+
+                            if (!CheckMD5(keys.DAK.data, keys.DAK.md5))
+                            {
+                                msg = string.Format("DAK Key Value md5 Is Incorrect: data={0}, md5={1}", keys.DAK.data, keys.DAK.md5);
+                                goto end;
+                            }
                         }
 
                         result = true;
                     }
                 }
             }
+
+end:
             watch.Stop();
             Log.WriteInfoLog(string.Format("[GetIDMKeys] order={0},sn={1},Elapsed={2} GetKeys={3}", order, sn, watch.Elapsed.TotalMilliseconds, result ? "成功" : "失败"));