【问题标题】:Embed credentials for webclient in C# Console Application app.config?在 C# 控制台应用程序 app.config 中嵌入 webclient 的凭据?
【发布时间】:2015-08-14 23:32:39
【问题描述】:

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

目前看起来是这样的。

WebClient c = new WebClient();  
c.Credentials = new System.Net.NetworkCredential("UN", "PW", "server");

如何将它嵌入到 app.config 文件中???

【问题讨论】:

    标签: c# .net webclient app-config networkcredentials


    【解决方案1】:
    <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 部分。

    【讨论】:

    • 好吧,那些“钥匙”只是你编造的随机名字?将测试!
    • 它们的键不是随机的,但你可以随意命名它们。请记住,同一个键不能有超过 1 个 appSetting。
    • 除了这个答案之外,您可能还想用ProtectedData 类加密密码。有关详细信息,请参阅此 MSDN 文章:msdn.microsoft.com/en-us/library/…
    • 工作就像一个魅力,感谢安东提供的额外信息!标记为答案,为所有人点赞。
    猜你喜欢
    • 2012-04-21
    • 2022-11-11
    • 2018-07-27
    • 2012-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    相关资源
    最近更新 更多