Title: How to Encrypt App Settings in Web Config                                 If you need copy same format use firefox or chrome or safari but iexplorer not work


Preview of Code
Namespaces
 
using System.IO;
using System.Xml;
using System.Text;
using System.Configuration;
using System.Security.Cryptography;
Web.Config AppSetting
 
 
<appSettings>
    <add key="Name" value="Mudassar Khan" />
  </appSettings>
Code for Encrypting
 
protected void Page_Load(object sender, EventArgs e)
   {
       this.EncryptAppSetting("Name");
       string encrypted_name = ConfigurationManager.AppSettings["Name"];
       string name = Decrypt(ConfigurationManager.AppSettings["Name"]);
   }
 
   private void EncryptAppSetting(string key)
   {
       string path = Server.MapPath("~/Web.Config");
       XmlDocument doc = new XmlDocument();
       doc.Load(path);
       XmlNodeList list = doc.DocumentElement.SelectNodes(string.Format("appSettings/add[@key=`{0}`]", key));
 
       if (list.Count == 1)
       {
           XmlNode node = list[0];
           string value = node.Attributes["value"].Value;
           node.Attributes["value"].Value = Encrypt(value);
           doc.Save(path);
       }
   }
 
   private string Encrypt(string clearText)
   {
       string EncryptionKey = "MAKV2SPBNI99212";
       byte[] clearBytes = Encoding.Unicode.GetBytes(clearText);
       using (Aes encryptor = Aes.Create())
       {
           Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(EncryptionKey, new byte[] { 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76 });
           encryptor.Key = pdb.GetBytes(32);
           encryptor.IV = pdb.GetBytes(16);
           using (MemoryStream ms = new MemoryStream())
           {
               using (CryptoStream cs = new CryptoStream(ms, encryptor.CreateEncryptor(), CryptoStreamMode.Write))
               {
                   cs.Write(clearBytes, 0, clearBytes.Length);
                   cs.Close();
               }
               clearText = Convert.ToBase64String(ms.ToArray());
           }
       }
       return clearText;
   }
   private string Decrypt(string cipherText)
   {
       string EncryptionKey = "MAKV2SPBNI99212";
       byte[] cipherBytes = Convert.FromBase64String(cipherText);
       using (Aes encryptor = Aes.Create())
       {
           Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(EncryptionKey, new byte[] { 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76 });
           encryptor.Key = pdb.GetBytes(32);
           encryptor.IV = pdb.GetBytes(16);
           using (MemoryStream ms = new MemoryStream())
           {
               using (CryptoStream cs = new CryptoStream(ms, encryptor.CreateDecryptor(), CryptoStreamMode.Write))
               {
                   cs.Write(cipherBytes, 0, cipherBytes.Length);
                   cs.Close();
               }
               cipherText = Encoding.Unicode.GetString(ms.ToArray());
           }
       }
       return cipherText;
   }