示例#1
0
        //Метод декриптования файла ключа
        //Возвращает true или false в зависимости от того,
        //совпал ли ключ в файле и входная строка
        public bool DecodeKey(string inString, string path)
        {
            string decryptstring = null;

            byte[] key = new byte[0x20];
            for (int i = 0; i <= 0x1f; i++)
            {
                key[i] = 0x1f;
            }
            Rijndael.Key = key;
            using (FileStream fs = File.Open(path, FileMode.Open))
            {
                //FileStream fs = new FileStream(path, FileMode.Open);
                byte[] IV = new byte[Rijndael.IV.Length];
                fs.Read(IV, 0, IV.Length);
                Rijndael.IV = IV;
                ICryptoTransform transformer = Rijndael.CreateDecryptor();
                CryptoStream     cs          = new CryptoStream(fs, transformer, CryptoStreamMode.Read);
                StreamReader     sr          = new StreamReader(cs, Encoding.UTF8);
                decryptstring = sr.ReadToEnd();

                CryptoClass crypto = new CryptoClass();

                decryptstring = decryptstring.Substring(0, decryptstring.IndexOf("|"));

                if (!(decryptstring == inString))
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        private static bool LicensyaCheck()
        {
            try
            {
                string keyfile      = @"keyfile.dat";
                string sysSyrialize = @"sysSyrialize.dat";

                string curFile = !File.Exists(keyfile) ? !File.Exists(sysSyrialize) ? null : sysSyrialize : keyfile;

                //if (File.Exists(keyfile))
                //    curFile = keyfile;
                //else if (File.Exists(sysSyrialize))
                //    curFile = sysSyrialize;
                //else
                //    curFile = null;

                if (!string.IsNullOrEmpty(curFile))
                {
                    CryptoClass crypto = new CryptoClass();
                    //if (!crypto.Form_LoadTrue()) Close();

                    string date = crypto.GetDecodeKey(curFile).Substring(crypto.GetDecodeKey(curFile).IndexOf("|") + 1);

                    //Logger.WriteLog(date, 0, "res == 0");

                    if (DateTime.Parse(date).AddDays(1) <= DateTime.Now)
                    {
                        if (File.Exists(curFile))
                        {
                            File.Delete(curFile);
                        }

                        Logger.WriteLog("start", 0, "key == 0");
                        return(false);
                    }
                    else
                    {
                        Console.Title = $"UrineStripReader40_Listener:[{VerApp}.......{date}]";
                        Logger.WriteLog("start", 0, "key == 1");
                        return(true);
                    }
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine();
                Logger.WriteLog(ex.Message, 0, "key == 0");
            }
            return(false);
        }