web.config中的加密连接字符串

时间:2012-06-15 17:18:26

标签: asp.net encryption web-config connection-string

当加密的连接字符串保存在外部配置文件中并由asp.net应用程序的web.config的connectionStrings部分中的configSource属性指定时,如何在C#代码中读取加密的连接字符串?

外部配置文件应该只有connectionStrings节点,但是当它被加密时,configDataProvider节点也应该出现在同一个文件中。因此它不能在configSource属性中使用。

我已经加密了连接字符串,并希望将其置于外部配置文件中。怎么办呢?

感谢您的任何指示。

1 个答案:

答案 0 :(得分:3)

在你的app.config中:

<configuration>
    <connectionStrings configSource="foo.config" />
    ...
</configuration>

和您的foo.config

<connectionStrings configProtectionProvider="DataProtectionConfigurationProvider">
    <EncryptedData>
        <CipherData>
            <CipherValue>
                AQAAANCMnd8BFdE....
            </CipherValue>
        </CipherData>
    </EncryptedData>
</connectionStrings>

并在您的代码中:

ConfigurationManager.ConnectionStrings["someKey"]