C Encryption of Connection String in app. config

  • 2021-07-10 20:37:20
  • OfStack

This article illustrates how C # encrypts connection strings in app. config. Share it for your reference. The details are as follows:

Connection string contains database access information, account and password, so 1 is not shown in clear text, this code is used to encrypt the connection string.


public static class EncryptConnection
{
  public static void EncryptConnectionString(bool encrypt)
  {
   Configuration configFile = null;
   try
   {
    // Open the configuration file and retrieve the connectionStrings section.
    configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    ConnectionStringsSection configSection = configFile.GetSection("connectionStrings") as ConnectionStringsSection;
    if ((!(configSection.ElementInformation.IsLocked)) && (!(configSection.SectionInformation.IsLocked)))
    {
     if (encrypt && !configSection.SectionInformation.IsProtected)
     //encrypt is false to unencrypt
     {
      configSection.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
     }
     if (!encrypt && configSection.SectionInformation.IsProtected)
     //encrypt is true so encrypt
     {
      configSection.SectionInformation.UnprotectSection();
     }
     //re-save the configuration file section
     configSection.SectionInformation.ForceSave = true;
     // Save the current configuration.
     configFile.Save();
    }    
   }
   catch (System.Exception ex)
   {
    throw (ex);
   }
   finally
   {
   }
  }
}

I hope this article is helpful to everyone's C # programming.


Related articles: