C# 如何在应用程序配置文件中定义和加密连接字符串
我已经用c创建了一个应用程序。我在app config文件中定义了一个连接字符串。以下是我的应用程序配置文件代码:C# 如何在应用程序配置文件中定义和加密连接字符串,c#,C#,我已经用c创建了一个应用程序。我在app config文件中定义了一个连接字符串。以下是我的应用程序配置文件代码: <?xml version="1.0" encoding="utf-8"?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="True"> <supportedRuntime version="v4.0" sku=".NETFramework,Versio
<?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>
我该怎么做呢?你试过下面的吗
string value = System.Configuration.ConfigurationManager.AppSettings[key];
需要添加参考系统。配置
如果您知道如何进行加密,则可以按照以下方式保存加密的密码
要进行加密并保存应用程序设置,请访问@ksdev链接
好问题
理想情况下,如果您可以使用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文档,其中包含更多详细信息:
如果确实需要保护应用程序配置,可以使用.NET famework ProtectSection函数,该函数将使用machine.config密钥加密配置文件,并且应用程序将能够访问配置详细信息,但不容易看到
考虑到安全问题,有必要详细了解其工作原理:
用这个。有几种方法可以做到这一点。您可以使用ConnectionString配置部分对整个部分进行加密,也可以使用任何加密-解密算法来执行此任务,甚至可以创建自己的算法来执行此任务的加密可能的副本。这可能会对你有所帮助。OP询问如何从配置文件中保护他们的密码。我知道这不是具体的答案,但投稿人问应该编写什么代码来生成预期格式的应用程序设置。我认为加密在这里不是问题,他问@在本例中,ksdev提供了更具体的指南链接。你怎么认为?