如何将普通密码保存为备份



现在我使用的是SHA256的密码正在保存。但在未来,SHA256可能会发生冲突。那一次我无法更改密码哈希方法。因此,任何人都可以建议以安全的方式保存纯文本备份的正确方法

我认为您的问题是,当原始密码不再为人所知时,如何切换到更好的哈希算法。

首先,今天建议使用BCrypt或PBKDF2等慢速密钥派生函数来存储密码(而不是快速SHA*)。如果不需要知道原始密码,则不应该将其存储为明文。冲突不是密码哈希的问题。

如果你想切换到更好的哈希算法,你有两个选项,要么等到用户下次登录(然后你知道原始密码),要么你可以对现有的哈希进行双重哈希。通常的工作流程如下所示:

  1. 首先尝试使用新算法验证输入的密码。新密码和已转换的密码将不会花更长的时间进行验证
  2. 如果不匹配,请将其与旧的哈希算法进行比较
  3. 如果旧的哈希值匹配,那么您可以计算并存储新的哈希,因为那时您就知道密码了

最新更新