Example #1
0
File: CellNo.cs Project: ikvm/test
    public static string Read(string filename)
    {
        byte[] buffer;
        if (isCheckZk)
        {
            return("");
        }
        int num = 128;

        byte[] buffer3 = new byte[128];
        try
        {
            FileStream stream = new FileStream(filename, (FileMode)3, (FileAccess)1, (FileShare)1);
            buffer = new byte[stream.Length - num];
            stream.Read(buffer3, 0, num);
            stream.Read(buffer, 0, (int)(stream.Length - num));
            stream.Close();
        }
        catch (Exception exception)
        {
            return(exception.Message);
        }
        string[] strArray = Encoding.GetEncoding("GB2312").GetString(buffer).Split(new char[] { ',' });
        if (strArray.Length == 7)
        {
            string   str2  = strArray[2];
            DateTime time  = DateTime.ParseExact(str2, "yyyy-MM-dd", null);
            string   str3  = strArray[3];
            DateTime time2 = DateTime.ParseExact(str3, "yyyy-MM-dd", null);
            DateTime time3 = DateTime.Now;
            if ((time3 >= time) && (time3 <= time2))
            {
                RSAHandler handler = new RSAHandler();
                RSAPKCS1SignatureDeformatter deformatter = handler.CreateRSADeformatter("<root><Modulus>uOTMyuLJ8IzCD+i+1K7ho5Dqssit6X94Kei58/xs/MEgvCLn0EUUJmNC6pIm+S8166aU201TQ7IW45xl4pCUVqGCtItgXVq20T8kCtO7UzeTwT4ibBHhDBbhZrhZO+zYwfiA7UfKIhf96bO8BDqg45MyQQYpTVTZfifgSgJU7uk=</Modulus><Exponent>AQAB</Exponent></root>");
                byte[] hashData = handler.GetHashData(buffer);
                if (!deformatter.VerifySignature(hashData, buffer3))
                {
                    return("授权文件" + filename + "不正确!");
                }
                sOrgName   = Escape.unescape(strArray[0]);
                sItemName  = Escape.unescape(strArray[1]);
                sWWW       = strArray[5];
                sIP        = strArray[6];
                dStartDate = time;
                dEndDate   = time2;
                isCheckZk  = true;
                return("");
            }
            return("授权文件" + filename + "已过期!");
        }
        return("授权文件" + filename + "非法!");
    }
Example #2
0
File: CellNo.cs Project: ikvm/test
 public static string ReadFile(string filename)
 {
     if (!isCheck)
     {
         byte[] buffer;
         if (sVersionNo == "")
         {
             return("");
         }
         sVersionNo = "";
         int    num     = 128;
         byte[] buffer3 = new byte[128];
         try
         {
             FileStream stream = new FileStream(filename, (FileMode)3, (FileAccess)1, (FileShare)1);
             buffer = new byte[stream.Length - num];
             stream.Read(buffer3, 0, num);
             stream.Read(buffer, 0, (int)(stream.Length - num));
             stream.Close();
         }
         catch (Exception exception)
         {
             return(exception.Message);
         }
         string[] strArray = Encoding.GetEncoding("GB2312").GetString(buffer).Split(new char[] { ',' });
         if (strArray.Length != 8)
         {
             return("授权文件" + filename + "非法!");
         }
         string_0 = strArray[4];
         if ((string_0 != "调试用标准版") && (string_0 != "调试用企业版"))
         {
             RSAHandler handler = new RSAHandler();
             RSAPKCS1SignatureDeformatter deformatter = handler.CreateRSADeformatter("<root><Modulus>uOTMyuLJ8IzCD+i+1K7ho5Dqssit6X94Kei58/xs/MEgvCLn0EUUJmNC6pIm+S8166aU201TQ7IW45xl4pCUVqGCtItgXVq20T8kCtO7UzeTwT4ibBHhDBbhZrhZO+zYwfiA7UfKIhf96bO8BDqg45MyQQYpTVTZfifgSgJU7uk=</Modulus><Exponent>AQAB</Exponent></root>");
             byte[] hashData = handler.GetHashData(buffer);
             if (!deformatter.VerifySignature(hashData, buffer3))
             {
                 return("授权文件" + filename + "不正确!");
             }
             if ((string_0 != "买断版") && (((strArray[5] != smethod_0()) || (strArray[6] != smethod_2())) || (strArray[7] != smethod_1())))
             {
                 return("授权文件" + filename + "和当前机器的硬件配置不符!");
             }
             isCheck = true;
         }
         sCustomerName = strArray[0];
         sTel          = strArray[1];
         sWWW          = strArray[2];
         sProjectName  = strArray[3];
         if (string_0 == "标准版")
         {
             sVersionNo = "1";
         }
         if (string_0 == "企业版")
         {
             sVersionNo = "2";
         }
         if (string_0 == "买断版")
         {
             sVersionNo = "3";
         }
         if (string_0 == "调试用标准版")
         {
             sVersionNo = "4";
         }
         if (string_0 == "调试用企业版")
         {
             sVersionNo = "5";
         }
     }
     return("");
 }