// 将本地字符串匹配序列号 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); }
// 将本地字符串匹配序列号 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); }