gpt4 book ai didi

c# - 如何加密app.config?

转载 作者:太空狗 更新时间:2023-10-29 20:40:33 24 4
gpt4 key购买 nike

在 wpf (c#) 中创建 app.config

<?xml version="1.0"?>
<configuration>
<connectionStrings>
<clear />
<add name="Name"
providerName="MySql.Data"
connectionString="Server=.net;Uid=;Pwd=H;Database=;charset=utf8;Allow Zero Datetime=true;" />
</connectionStrings>
</configuration>

使用代码 C#:

    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConnectionStringsSection conStr = config.ConnectionStrings;
if (!conStr.SectionInformation.IsProtected)
{
conStr.SectionInformation.ProtectSection("RSAProtectedConfigurationProvider");
conStr.SectionInformation.ForceSave = true;
config.Save();
}
else
{
foreach (ConnectionStringSettings ss in conStr.ConnectionStrings)
Console.WriteLine(ss);
Console.Read();
}

config.Save(); - 导致异常:

{"Failed to encrypt the section 'connectionStrings' using provider 'RsaProtectedConfigurationProvider'. The error message from the provider: Object already exists .\r\n"}

最佳答案

我在保存时遇到了同样的异常。通过以管理员身份运行应用程序,我能够解决这个问题。

我在我的项目中添加了一个 app.manifest 文件,并像这样更改了执行级别:requestedExecutionLevel level="requireAdministrator"uiAccess="false"

这样,我总是以管理员身份运行,并有权保存加密部分。

关于c# - 如何加密app.config?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4330122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com