C#加密app.config中连接字符串的方法

本文实例讲述了C#加密app.config中连接字符串的方法。分享给大家供大家参考。具体如下:

连接字符串中包含数据库的访问信息,帐号和密码,因此一般不以明文显示,本代码用来加密连接字符串。

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
   {
   }
  }
}

希望本文所述对大家的C#程序设计有所帮助。

你可能感兴趣的:(C#加密app.config中连接字符串的方法)