public static bool IsKeyValue(string Key, string UserName) { if (Key.Length != 37) { return(false); } if (Key.ToUpper().IndexOf("DMS") == -1) { return(false); } if (Key.Split('-').Length != 3) { return(false); } string key1 = Properties.Resources.String1; string key2 = Properties.Resources.String2; string key3 = Controls.Properties.Resources.String3; string key4 = Core.Properties.Resources.String4; for (int a = 0; a < 16; a++) { for (int b = 0; b < 16; b++) { for (int c = 0; c < 16; c++) { for (int d = 0; d < 16; d++) { string key = Functions.MD5(key1.Substring(a, 16) + key2.Substring(b, 16) + key3.Substring(c, 16) + key4.Substring(d, 16)); string str1 = ""; string str2 = ""; for (int i = 0; i < key.Length; i++) { if (char.IsNumber(key[i])) { str1 += key[i].ToString(); } else { str2 += key[i].ToString(); } } string str = "dms-" + str1 + "-" + str2; if (str.ToUpper() == Key.ToUpper()) { DateTime dt = DateTime.Now; RegData reg = new RegData(dt, a, b, c, d, key, UserName); root.RegDate = dt; root.UserName = UserName; backuproot.RegDate = dt; backuproot.UserName = UserName; RegData.Save(reg); CRoot.Save(root); return(true); } } } } } return(false); }