예제 #1
0
        // 将本地字符串匹配序列号
        static bool MatchLocalString(string strSerialNumber, string strInstanceName)
        {
            List <string> macs = SerialCodeForm.GetMacAddress();

            foreach (string mac in macs)
            {
                string strLocalString = OneInstanceDialog.GetEnvironmentString(mac,
                                                                               strSerialNumber,
                                                                               strInstanceName);
                string strSha1 = Cryptography.GetSHA1(StringUtil.SortParams(strLocalString) + "_reply");
                if (strSha1 == SerialCodeForm.GetCheckCode(strSerialNumber))
                {
                    return(true);
                }
            }

            // 2014/12/19
            if (DateTime.Now.Month == 12)
            {
                foreach (string mac in macs)
                {
                    string strLocalString = OneInstanceDialog.GetEnvironmentString(mac,
                                                                                   strSerialNumber,
                                                                                   strInstanceName,
                                                                                   true);
                    string strSha1 = Cryptography.GetSHA1(StringUtil.SortParams(strLocalString) + "_reply");
                    if (strSha1 == SerialCodeForm.GetCheckCode(strSerialNumber))
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
예제 #2
0
파일: Host.cs 프로젝트: gvhung/dp2
        // 将本地字符串匹配序列号
        static bool MatchLocalString(string strSerialNumber,
                                     string strInstanceName,
                                     out string strDebugInfo)
        {
            strDebugInfo = "";

            StringBuilder debuginfo = new StringBuilder();

            debuginfo.Append("序列号 '" + strSerialNumber + "' 实例名 '" + strInstanceName + "'\r\n");

            List <string> macs = SerialCodeForm.GetMacAddress();

            debuginfo.Append("本机 MAC 地址: " + StringUtil.MakePathList(macs) + "\r\n");

            debuginfo.Append("第一轮比较:\r\n");

            foreach (string mac in macs)
            {
                string strLocalString = OneInstanceDialog.GetEnvironmentString(mac,
                                                                               strSerialNumber,
                                                                               strInstanceName);

                string strSha1 = Cryptography.GetSHA1(StringUtil.SortParams(strLocalString) + "_reply");
                debuginfo.Append("MAC 地址 '" + mac + "' 环境字符串 '" + strLocalString + "' SHA '" + strSha1 + "'\r\n");
                if (strSha1 == SerialCodeForm.GetCheckCode(strSerialNumber))
                {
                    debuginfo.Append("匹配\r\n");
                    return(true);
                }
                debuginfo.Append("不匹配\r\n");
            }

            // 2014/12/19
            if (DateTime.Now.Month == 12)
            {
                debuginfo.Append("第二轮比较:\r\n");
                foreach (string mac in macs)
                {
                    string strLocalString = OneInstanceDialog.GetEnvironmentString(mac,
                                                                                   strSerialNumber,
                                                                                   strInstanceName,
                                                                                   true);
                    string strSha1 = Cryptography.GetSHA1(StringUtil.SortParams(strLocalString) + "_reply");
                    debuginfo.Append("MAC 地址 '" + mac + "' 环境字符串 '" + strLocalString + "' SHA '" + strSha1 + "'\r\n");
                    if (strSha1 == SerialCodeForm.GetCheckCode(strSerialNumber))
                    {
                        debuginfo.Append("匹配\r\n");
                        return(true);
                    }
                    debuginfo.Append("不匹配\r\n");
                }
            }

            debuginfo.Append("最后返回不匹配\r\n");

            strDebugInfo = debuginfo.ToString();
            return(false);
        }