コード例 #1
0
        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);
        }