当前位置:  开发笔记 > 开发工具 > 正文

Windows上是否存在某种安全的本地存储?

如何解决《Windows上是否存在某种安全的本地存储?》经验,为你挑选了2个好方法。

我在考虑制作一个小工具.这个工具会做什么并不重要.重要的是,该工具需要在用户的硬盘上存储一些敏感信息.编辑:将存储的信息是用户信息 - 我不是要保护我自己的内容,而是通过应用程序分发.

我知道我需要加密这些信息.但是,我在哪里可以安全地存储加密密码?这是某种无限递归......

那么,有没有办法加密Windows上的信息,并让Windows安全地管理密码?当我说Windows时,我指的是Windows XP SP2或更高版本.

我还应该注意,同一系统上的用户必须无法访问其他用户信息(即使他们都在运行我的应用程序).

我正在寻找这个问题的.NET 2.0(C#)和本机(C/C++)解决方案.



1> bobince..:

有没有办法,加密Windows上的信息,并安全地管理Windows密码?

CryptProtectData:http://msdn.microsoft.com/en-us/library/windows/desktop/aa380261( v=vs.85) .aspx

从.NET使用:http://msdn.microsoft.com/en-us/library/aa302402.aspx

历史上,受保护的存储(在XP中可用,在vista中只读):http://msdn.microsoft.com/en-us/library/bb432403%28VS.85%29.aspx


对于.NET 2.0+,请使用System.Security.Cryptography.ProtectedData类而不是@ bobince的第二个链接.

2> liggett78..:

您应该考虑将DPAPI用于此目的.它将使用基于每个用户的特殊(内部)对称密钥对您的数据进行加密.在这种情况下,您甚至不需要请求密码,因为系统上的不同用户将分配不同的密钥.

它的缺点可能是,如果删除用户/重新安装Windows,则无法恢复数据(我相信情况确实如此,但不太确定).在这种情况下,使用从密码派生的"自生成"密钥加密数据,并将密码存储在使用DPAPI加密的注册表/文件中.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有