Example #1
0
        public static string GenerateKey(string user, string count, string productName, string editionType)
        {
            string Result  = string.Empty;
            string info    = string.Empty;
            string TimeOps = string.Empty;

            byte[] seed = null;
            byte[] key  = null;

            emProductName name    = (emProductName)Enum.Parse(typeof(emProductName), productName);
            emEditionType edition = (emEditionType)Enum.Parse(typeof(emEditionType), editionType);

            switch (name)
            {
            case emProductName.fishDatabase:
            case emProductName.fishDictionary:
            case emProductName.fishConvert:
            case emProductName.fishCodeLib:
            case emProductName.fishCapture:
            case emProductName.fishResource:
            case emProductName.fishVocabulary:
                TimeOps     = String.Empty;
                editionType = String.Empty;
                break;

            case emProductName.fishDBMigration:
                TimeOps = char.ConvertFromUtf32(2468 + 41);
                TimeOps = TimeOps + Convert.ToString(DateTime.Now.Subtract(DateTime.Now).Seconds);
                break;

            case emProductName.fishDatabase5X64:
                TimeOps     = char.ConvertFromUtf32(9786 + 30);
                productName = Enum.GetName(name.GetType(), emProductName.fishDatabase);
                TimeOps     = TimeOps + Convert.ToString(DateTime.Now.Subtract(DateTime.Now).Seconds);

                break;

            default:
                throw new Exception("Invalid Product Name");
            }

            seed = Encoding.UTF8.GetBytes(productName + TimeOps + (int)edition);
            info = productName + _seperator + user + " " + _seperator + count + _seperator + count +
                   _seperator + editionType + _seperator + "@" + user;
            key    = GetDesKey(seed);
            Result = DesEncrypt(info, key);

            return(Result);
        }
Example #2
0
        public string GenerateKey(string user, string count, emProductName name)
        {
            string Result = string.Empty;
            string info   = string.Empty;

            byte[] seed = null;
            byte[] key  = null;

            switch (name)
            {
            case emProductName.fishDatabase:
            case emProductName.fishDictionary:
            case emProductName.fishConvert:
            case emProductName.fishCodeLib:
            case emProductName.fishCapture:
            case emProductName.fishResource:
            case emProductName.fishVocabulary:
                seed = Encoding.UTF8.GetBytes(this.ProductName[(int)name]);

                break;

            case emProductName.fishDBMigration:
                int    ProductType = 0;
                string TimeOps     = char.ConvertFromUtf32(2468 + 41);
                string rtime       = TimeOps + Convert.ToString(DateTime.Now.Subtract(DateTime.Now).Seconds);
                seed = Encoding.UTF8.GetBytes(this.ProductName[(int)name] + rtime + Convert.ToString(ProductType));

                break;

            default:
                throw new Exception("Invalid Product Name");
            }

            info   = this.ProductName[(int)name] + this.Seperator + user + this.Seperator + count;
            key    = this.GetDesKey(seed);
            Result = DesEncrypt(info, key);

            return(Result);
        }