【发布时间】:2023-03-10 10:53:01
【问题描述】:
我需要一些建议来了解这一点,如果我想存储一些特定的东西,比如密码或一些不应该被一个管理员下的所有用户看到的秘密,它应该只有管理员可以访问。早些时候我计划将其以加密格式存储在注册表中,但即使这样似乎也不安全,因为每个人都可以访问它。
还有其他方法可以在 Windows 的某个位置存储东西吗?请提出一些方法。
【问题讨论】:
我需要一些建议来了解这一点,如果我想存储一些特定的东西,比如密码或一些不应该被一个管理员下的所有用户看到的秘密,它应该只有管理员可以访问。早些时候我计划将其以加密格式存储在注册表中,但即使这样似乎也不安全,因为每个人都可以访问它。
还有其他方法可以在 Windows 的某个位置存储东西吗?请提出一些方法。
【问题讨论】:
您可以使用DPAPI。它是一种用于敏感数据的简单加密和解密方法。它允许限制用户或机器对加密数据的访问。就这么简单(取自链接页面上的示例):
byte [] secret = { 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4 };
ProtectedMemory.Protect( secret, MemoryProtectionScope.SameLogon );
ProtectedMemory.Unprotect( secret, MemoryProtectionScope.SameLogon );
我不确定这是否符合您的要求,dpapi 与 Windows 登录密码一样安全,一旦您登录,您就可以解密数据(取决于保护范围)。请参阅this SO question 进行讨论。
【讨论】: