我在编写用于查询用户邮箱存储配额的 winforms 应用程序中有一些这样的代码。
DirectoryEntry mbstore = new DirectoryEntry(
@"LDAP://" + strhome,
m_serviceaccount,
[m_pwd],
AuthenticationTypes.Secure);
无论我尝试了哪种方法(例如SecureString
),我都可以使用 Reflector 或使用 Process Explorer 的字符串选项卡来轻松查看密码( m_pwd )作为可执行文件。
我知道我可以将此代码放在服务器上,或者使用委托等机制加强安全性,并只为服务帐户提供所需的权限。
有人可以建议一种相当安全的方法来将密码存储在本地应用程序中而不向黑客泄露密码吗?
散列是不可能的,因为我需要知道确切的密码(不仅仅是用于匹配目的的散列)。加密/解密机制不起作用,因为它们依赖于机器。