Encrypt and Decrypt connectionString section in Web.config
Here is the source code to encrypt and decrypt <connectionString> section in Web.config using RSA Protected Configuration provider model.
Note that below source code is from class library file. It is quite feasible to edit the code and use within a button click event as you wish.
Hope you find it useful!!
using System; using System.Collections.Generic; using System.Text; using System.Web; //specific to configuration using System.Configuration; using System.Web.Configuration; using System.Web.Security; namespace WebUtils { /// <summary> /// Contains methods for Encrypting and decrypting connectionStrings
/// section in web.config /// current encryption configuration model is Rsa,
/// it is feasible to change this to DataProtectionConfigurationProvider /// </summary> /// <author>Raju Golla</author> public class EncryptDecrypt { //Get Application path using HttpContext public static string path = HttpContext.Current.
Request.ApplicationPath; /// <summary> /// Encrypt web.config connectionStrings /// section using Rsa protected configuration /// provider model /// </summary> #region Encrypt method public static void EncryptConnString() { Configuration config = WebConfigurationManager.
OpenWebConfiguration(path); ConfigurationSection section =
config.GetSection("connectionStrings");
if (!section.SectionInformation.IsProtected)
{
section.SectionInformation.ProtectSection
("RsaProtectedConfigurationProvider");
config.Save();
}
}
#endregion
/// <summary>
/// Decrypts connectionStrings section in
///web.config using Rsa provider model
/// </summary>
#region Decrypt method
public static void DecryptConnString()
{
Configuration config = WebConfigurationManager.
OpenWebConfiguration(path); ConfigurationSection section =
config.GetSection("connectionStrings");
if (section.SectionInformation.IsProtected)
{
section.SectionInformation.UnprotectSection();
config.Save();
}
}
#endregion
}
}
References:
http://www.beansoftware.com/ASP.NET-Tutorials/Encrypting-Connection-String.aspx