【发布时间】:2011-06-26 11:51:19
【问题描述】:
我一直在使用 C# 为自己编写一个小程序,我可以使用它来存储我的密码,然后检索它们以进行查看/编辑。
虽然密码以加密格式存储到磁盘中,但当它们被读入内存以在表单上显示/编辑时,它们是未加密的。
我了解到内存中存在未加密的密码是一个相当大的安全问题,所以我遇到了SecureString 类。
是否有比使用SecureString 类更安全的方法来执行此操作,或者SecureString 是否名副其实?
【问题讨论】:
-
从不存储密码,甚至不加密。只存储他们的哈希值。
-
@HansPassant 好建议,但这听起来像是密码管理器。显然,密码管理器不能只存储哈希值。
-
请注意,Microsoft 现在建议避免在新开发中使用 SecureString:github.com/dotnet/platform-compat/blob/master/docs/DE0001.md
标签: c# security memory securestring