Exemple #1
0
        /// <summary>
        /// 生成要求码
        /// </summary>
        /// <param name="serialNumber">序列号</param>
        /// <param name="mCode">MAC地址</param>
        /// <returns></returns>
        public string GenerateRequestCode(string serialNumber, string mCode)
        {
            string V_1 = mCode;

            if (string.IsNullOrEmpty(V_1))
            {
                return(string.Empty);
            }

            SerialNumberInfo V_2 = this.DecodeSerialNumber(serialNumber); // 解密序列号

            Random V_3  = new Random();
            int    V_10 = V_3.Next(0xff);                                             // 随机数,最大值255(0~FF)
            int    V_11 = V_3.Next(14) + 1;                                           // 随机数,最大值15(1~F)

            string V_4 = V_10.ToString("X").PadLeft(2, V_11.ToString("X")[0]);        // V_11生成的值填充V_10(二位)

            V_1 += V_4;                                                               // 与MAC地址连起来

            string V_5 = V_2.NumberOfPowerUsers.ToString("X").PadLeft(3, (char)0x30); // 将授权数转换成16进制,用0填充到3位(最大FFF个授权码).

            System.Threading.Thread.Sleep(1);

            int    V_12 = V_3.Next(14) + 1;   // 随机数,最大值15(1~F)
            string V_6  = V_12.ToString("X"); // 转换成16进制

            System.Threading.Thread.Sleep(1);

            int V_7 = V_3.Next(5) + 2;    // 随机数,最大值5(2~7)

            string V_8 = V_1 + V_5 + V_6; // 与MAC地址连起来

            V_8 = this.Reverse(V_8);      // 反转
            V_8 = this.Confuse(V_8, V_7); // 混淆

            System.Threading.Thread.Sleep(1);

            int V_13 = V_3.Next(14) + 1;                               // 随机数,最大值15(1~F)

            string V_9 = V_8 + V_7.ToString("X") + V_13.ToString("X"); // 与MAC地址连起来

            object[] V_14 = new object[7];

            V_14[0] = V_9.Substring(0, 5);

            V_14[1] = (char)0x2d; // '-'

            V_14[2] = V_9.Substring(5, 5);

            V_14[3] = (char)0x2d; // '-'

            V_14[4] = V_9.Substring(10, 5);

            V_14[5] = (char)0x2d; // '-'

            V_14[6] = V_9.Substring(15, 5);

            return(string.Concat(V_14));
        }
Exemple #2
0
        public bool ContainsPowerUserLicense(string serialNumber)
        {
            SerialNumberInfo V_0 = this.DecodeSerialNumber(serialNumber);

            return(V_0.NumberOfPowerUsers != 0);
        }