我为Windows 7构建了自己的锁屏。因此,它使用密码来解锁自己。所以我决定只存储密码字符串的哈希码(例如,我调用字符串的GetHashCode方法" Password123")。现在我有存储号码的任务。我怎样才能以最安全的方式做到这一点?或者使用密码字符串的哈希码,即使是最好的方法呢?我的目标是阻止某人访问此号码并最终阻止某人发现密码。
到目前为止,我已经提出了一些可行的方法:
现在有没有更好的(更安全的)方法让某人发现我试图存储在硬盘上的哈希码?
编辑:根据下面的评论,我正在编写一个程序补丁,使用散列算法来获取密码的哈希码。现在问题是"我如何安全地在硬盘上存储一个字节数组?上述所有选项仍适用。提前感谢您的帮助。
答案 0 :(得分:0)
如果我正确理解您的要求,则希望保护桌面。只要有人必须做大量工作来弄清楚哈希值来自何处的密码,是否有人就可以读取哈希值就不重要了。因此,您想要的是一种像后来的SHA一样不错的加密哈希算法。请参阅[https://en.wikipedia.org/wiki/One-way_function][1],并请注意,即使您同时知道算法和所有存储的哈希,也不应遵循相反的过程来恢复原始密码。
当然,所有有关强密码的常规准则仍然适用-最小长度,字母数字和非字母数字的混合等等。
您也不希望有人能够随便删除或摆弄哈希,因为那样会把包括您在内的所有人锁定在外面,所以我会避免使用常规文件系统,并建议在CURRENT_USER下使用注册表。