微软企业库数据库链接文件加密(app.config||wab.config)

网上的方法都很烂,可用性很低,其实对XX.config的连接字串加密用两个静态的方法就可以解决

加密

 static void EncryptConfig(Configuration config)//加密
      {
            string keytype= "RsaProtectedConfigurationProvider"; // 加密类型
         ConfigurationSection section = config.ConnectionStrings;
            if ((section.SectionInformation.IsProtected == false) &&(section.ElementInformation.IsLocked == false))
            {
                section.SectionInformation.ProtectSection(keytype);
                section.SectionInformation.ForceSave = true;
                config.Save(ConfigurationSaveMode.Full);
            }
        }

 解密 

static void DecryptoConfig(Configuration config)//解密
     {
            ConfigurationSection section = config.ConnectionStrings;
            if ((section.SectionInformation.IsProtected == true) &&(section.ElementInformation.IsLocked == true))
            {
                section.SectionInformation.UnprotectSection(); 
                section.SectionInformation.ForceSave = true;
                config.Save(ConfigurationSaveMode.Full);
            }
        }

应用

Configuration config = null;
config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
EncryptConfig(config);//加密
DecryptoConfig(config);//解密

备注

需要引用System.Configuration

你可能感兴趣的:(加密,数据库连接,Web.Config,app.config,微软企业库)