现在我正在使用密码的SHA256保存。但是将来,SHA256可能会发生碰撞。那个时候我无法更改密码哈希方法。因此,任何人都可以建议以安全的方式保存纯文本备份的正确方法
答案 0 :(得分:4)
我认为您的问题是关于如何在原始密码不再为人所知的情况下切换到更好的哈希算法。
首先,今天建议使用像BCrypt或PBKDF2这样的慢键派生函数来存储密码(而不是快速SHA *)。如果没有真正需要知道原始密码,则不应将其存储为明文。密码哈希不会出现冲突问题。
如果要切换到更好的散列算法,则有两个选项,要么等到用户下次登录(然后才知道原始密码),要么可以对现有散列进行双重散列。通常的工作流程如下所示: