在 C# 控制台应用程序 app.config 中嵌入 webclient 的凭据?

Embed credentials for webclient in C# Console Application app.config?

目前我正在使用这样的登录方法登录,但我想将其嵌入到 app.config 文件中以便安全保存...

目前看起来是这样的。

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>

然后

var networkCredentialUserName = ConfigurationManager.AppSettings["NetworkCredentialUserName"];
var networkCredentialPassword = ConfigurationManager.AppSettings["NetworkCredentialPassword"];
c.Credentials = new System.Net.NetworkCredential(networkCredentialUserName, networkCredentialPassword , "server");

但这并不能保证它们的安全。如果网络凭据用户名和密码敏感,我会考虑使用 PKCS12ProtectedConfigurationProvider(一个 nuget 包)之类的东西来加密 app.config appSettings 部分。