如何显示web加密连接字符串.c#中的配置文件
本文关键字:字符串 连接 配置文件 加密 web 何显示 显示 | 更新日期: 2023-09-27 18:10:51
在我的。net web应用程序中,我加密了web的数据。配置文件。
但是现在我需要从外部winforms应用程序读取这个加密的连接字符串,并在文本框中显示结果。文本框文本看起来像这样:
<connectionStrings configProtectionProvider="CustomEncryptProvider">
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyName>Rsa Key</KeyName>
</KeyInfo>
<CipherData>
<CipherValue>Smbfcf3dHbuYZ34hLWtATU8fBqNL/CvPk24tLj9gLOizLzV88den52yhtYQ5AwXe2vVZP/GKRsWB+rcX/6ufBkz75HyVOnJHTCgLQ+JcsRX/9Td5ZzWJrEq1JBdpFzBsS9aLGLMREIILPedmFxO5+0GLIaBPzZ9/BhNcN8GXa+k=</CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue>raoQqDzlXmMCy+3VliV6oyMoQzgIapSmBKw666WbUjLgurCh4aS+pwSMW3wULOpi+jh8BdDE/aPwvhDw9kTuComyHBsEB4xMtRFaBY1NSyrwx7dnP44x4NS+LowJ1EQiN2fAZqWDDVAljRIlq3DtZhC9YkYl4H1rEjQVvljD0pus1O8ftiqKy/yma1/rqzI+F/87GrFR1ZM8cS/ujXagtfzqME4iVdTgl/eyEPkrd5f6SGwlieeC0zJ2ErV9zIr+Af2Sc6mk2hz7/+t2x3kAzDzHU2PFfBqiLSP6o/0XAdRl43Q/Jwr72552mus7n5urlzvyND0KXKzk4Gg4bVYuo8sSQvphbFuLgHIxq+6ShDdCc9wfMzsBmGU4ayYbn/a4rI8lB5y6GzK0kQvnH0qtWQ==</CipherValue>
</CipherData>
</EncryptedData>
</connectionStrings>
如何达到同样的效果?请注意,我只有物理路径到网络。
您可以像这样使用System.Configuration.ConfigurationManager
加载配置文件:
var config = ConfigurationManager.OpenExeConfiguration(/* path to config file */);
连接字符串将自动解密,并且将在Configuration
对象的ConnectionStrings
属性中可用。在您的示例中,连接字符串称为"LocalSqlServer":
Console.WriteLine(config.ConnectionStrings.ConnectionStrings["LocalSqlServer"]);
<>之前> data source=.'SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true编辑
如果您确实需要connectionStrings
xml元素的全部内容,可以使用XmlReader
:
using (var reader = XmlReader.Create(/* path to config file */))
{
if (reader.ReadToDescendant("connectionStrings"))
Console.WriteLine(reader.ReadOuterXml());
}
>