保存非交互式登录的密码

时间:2015-07-12 12:15:56

标签: authentication encryption hash passwords saltedhash

据我所知,使用salted哈希是在数据库中保存密码的首选方法。但是,这仅适用于交互目的。 例如,

  1. 用户使用注册表填写密码,然后保存 作为数据库中的salted哈希条目。
  2. 下次登录时使用     密码,它的散列值与数据库进行比较     条目。
  3. 到目前为止一切顺利。如果我想自动登录本身怎么办?即,而不是用户在在线表单中输入密码来提交登录密码,我想将密码存储在本地机器的某处,以便我可以在登录表单中使用它进行自动身份验证。问题是,我不能在这里使用盐水哈希,因为它是单向的,因此我需要加密。如果我选择加密,我需要使用安全密钥进行解密,这必须再次存储在某处。如果我需要加密,我该如何安全地执行此操作?如果没有,最好的方法是什么。这种事情有最好的做法吗?

    我已经看到一些已经破解的失败实现。例如,SQL开发人员https://stackoverflow.com/a/3109774/350136

1 个答案:

答案 0 :(得分:1)

Mac OS X& iOS使用Keychain来保存凭据。

如果您无法安全存储凭据,请使用token that can be revoked

"Remember me" cookies& app-specific passwords是相同的概念。