在C#Console Application app.config中嵌入webclient的凭据?
目前我正在使用类似这样的登录方法登录,但我想将其嵌入app.config文件以确保安全 现在看起来是这样的在C#Console Application app.config中嵌入webclient的凭据?,c#,.net,webclient,app-config,networkcredentials,C#,.net,Webclient,App Config,Networkcredentials,目前我正在使用类似这样的登录方法登录,但我想将其嵌入app.config文件以确保安全 现在看起来是这样的 WebClient c = new WebClient(); c.Credentials = new System.Net.NetworkCredential("UN", "PW", "server"); 如何将其嵌入app.config文件 <appSettings> <add key="NetworkCredentialUserName" value="UN
WebClient c = new WebClient();
c.Credentials = new System.Net.NetworkCredential("UN", "PW", "server");
如何将其嵌入app.config文件
<appSettings>
<add key="NetworkCredentialUserName" value="UN" />
<add key="NetworkCredentialPassword" value="PW" />
</appSettings>
然而,这并不能保证它们的安全。如果网络凭据用户名和密码是敏感的,我会考虑使用像pkCS12PueTeCudioDebug提供程序(NuGET包)之类的加密加密APP.CONFIG APPACTION段。我会测试的!这些密钥不是随机的,但您可以随意命名它们。请记住,使用同一密钥的应用程序设置不能超过1个。除此之外,您可能还需要使用
ProtectedData
class对密码进行加密。请参阅这篇MSDN文章了解详细信息:像一个魔咒一样工作,并感谢安东提供的额外信息!标记作为答案,向上投票给所有人。
var networkCredentialUserName = ConfigurationManager.AppSettings["NetworkCredentialUserName"];
var networkCredentialPassword = ConfigurationManager.AppSettings["NetworkCredentialPassword"];
c.Credentials = new System.Net.NetworkCredential(networkCredentialUserName, networkCredentialPassword , "server");