在 C# 中本地存储和加密密码

Rob*_*uch 3 c# web-services password-protection

我需要用 C# 开发一个与 SOAP Web 服务交互的工具。此 Web 服务的第一个操作需要用户名和密码来登录应用程序。但是,在提供用户凭据时,该工具应在没有用户交互的情况下运行。

这意味着该工具知道用户名和密码。将加密的用户名和密码存储在程序代码或外部文件中或多或少合适的方法是什么?

Boa*_*ler 5

我会考虑使用DPAPI应该有一个特定于机器的算法。这应该确保数据只能在加密的机器上解密。

在链接的帖子中也链接了一篇好文章

来自MSDN

// Encrypt the data using DataProtectionScope.CurrentUser. The result can be decrypted 

//  only by the same current user. 

return ProtectedData.Protect( data, s_aditionalEntropy, DataProtectionScope.CurrentUser );
Run Code Online (Sandbox Code Playgroud)