加密app.config中的自定义部分

时间:2016-10-08 15:23:44

标签: c# encryption app-config

我想在我的c#app中加密以下部分。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="ConX" type="System.Configuration.NameValueSectionHandler" />
  </configSections>

  <ConX>
    <add key="SqlSrv" value="0.0.0.0"/>
  </ConX>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    </startup>
...

以下代码无效,因为NameValueCollection不支持ProtectSection方法。

如何加密此部分?

var section = ConfigurationManager.GetSection("ConX") as NameValueCollection;
section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");

当我尝试以下行时,section对象只保持为空

AppSettingsSection section = ConfigurationManager.GetSection("ConX") as AppSettingsSection;

但是,如果我读取如下所示的值,则可以找到该部分。

var section = ConfigurationManager.GetSection("ConX") as NameValueCollection;
var value = section["SqlSrv"];

1 个答案:

答案 0 :(得分:0)

本周我刚刚为我的网站实现了相同的功能,您可能会发现以下代码非常有用。

亲切的问候。

{{1}}