C#加密app.config中连接字符串的代码

这篇文章主要介绍了C#加密app.config中连接字符串的方法,涉及C#配置文件加密的相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下:

本文实例讲述了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
   {
   }
  }
}

posted on 2017-03-11 13:02  带刀侍卫++i  阅读(1263)  评论(0编辑  收藏  举报

导航