我已经用c#创建了一个应用程序。我在应用程序配置文件中定义了一个连接字符串。这是我的应用程序配置文件代码:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="True">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<appSettings>
<add key="con" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\myFolder\Mydb.mdb;Persist Security Info=True;Jet OLEDB:Database Password=bd1234" />
</appSettings>
</configuration>
我想使用以下格式和加密的密码值创建该代码。
<?xml version="1.0"?>
<configuration>
<configSections>
</configSections>
<appSettings>
<add key="ServerName" value="user"/>
<add key="Provider" value="Microsoft.Jet.OLEDB.4.0"/>
<add key="Data Source" value="C:\myFolder\Mydb.mdb"/>
<add key="Persist Security Info" value="True"/>
<add key="Jet OLEDB:Database Password" value="*******"/>
</appSettings>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
我该怎么做?
答案 0 :(得分:0)
好问题。
理想情况下,如果可以使用Windows身份验证,则可以解决问题,而不必保护配置文件。
尝试添加以下内容:
<add key="con" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\myFolder\Mydb.mdb;Persist Security Info=False;Integrated Security=SSPI;Jet OLEDB:Database" />
这是MSDN文档,具有更多详细信息: https://docs.microsoft.com/en-us/visualstudio/ide/managing-application-settings-dotnet?view=vs-2017
如果确实需要保护您的应用程序配置,则可以使用.NET框架“ ProtectSection”功能,该功能将加密您的配置文件(使用machine.config密钥),并且您的应用程序将能够访问配置详细信息,但它不容易看到。
鉴于安全隐患,值得详细了解其工作方式: https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/connection-strings-and-configuration-files
答案 1 :(得分:-1)
您在下面尝试过吗?
string value = System.Configuration.ConfigurationManager.AppSettings[key];
需要添加引用System.Configuration
如果您知道如何进行加密,则可以按照以下方式保存加密的密码
How to update app settings key value pair dynamically on app.config file in c# winforms
要进行加密并保存应用设置,请点击@ksdev的链接