我知道使用加盐散列是在数据库中保存密码的首选方法。但是,这仅在用于交互目的时才有效。例如,
- 用户使用注册表单填写密码,然后将其保存为数据库中的盐渍哈希条目。
- 下次使用密码登录时,会将其哈希值与数据库条目进行比较。
到目前为止,一切都很好。如果我想自动登录怎么办?即,不是用户在在线表单中输入密码来提交登录密码,而是我想将密码存储在本地计算机的某个位置,以便我可以在登录表单中使用它进行自动身份验证。问题是,我不能在这里使用加盐哈希,因为它是单向的,因此我需要进行加密。如果我选择加密,我需要使用一个安全密钥来解密,它必须再次存储在某个地方。如果我需要加密,我该如何安全地做到这一点?如果没有,最好的方法是什么。这种事情有最佳实践吗?
我见过一些失败的实现已经被破解。例如 SQL 开发人员,https://stackoverflow.com/a/3109774/350136