Пример #1
0
        private IDictionary<string, string> LoadDictionary(PreProcessorConfig config)
        {
            const string passPhrase = "0B5DCD38C9F34C96AA57393EF2492E84";
            var md5 = new MD5(passPhrase);
            IDictionary<string, string> dictionary = new Dictionary<string, string>();

            foreach (var item in config.Properties)
            {
                if (dictionary.ContainsKey(item.Name))
                {
                    throw new InvalidOperationException(
                        string.Format("Dictionary already contains property key {0}.", item.Name));
                }

                if (item.EncryptedSpecified && item.Encrypted)
                {
                    log.Info(string.Format("Decrypting value '{0}'...", item.Value));
                    var value = md5.Decrypt(item.Value);
                    dictionary.Add(item.Name, value);
                    log.Info(string.Format("Decrypted value is '{0}'.", value));
                }
                else
                {
                    dictionary.Add(item.Name, item.Value);
                }
            }

            return dictionary;
        }