给出原始密码
验证身份
在验证部分,如果当前的密钥不再相同怎么办? 我应该始终保留旧密钥列表并重复它们以验证是否使用旧密钥之一生成了旧密码?如果验证者返回true,我将更新新的加密密码。
另外,我如何确保每个用户的每个密码都是唯一的盐?
这就是我需要做的吗?
有什么遗漏?感谢。
答案 0 :(得分:2)
确保salt是唯一的 - 您可以将用户名和上次更改密码的时间一起散列。
至于加密,只有在出于某种原因你想要存储用户密码时才需要加密,不仅要验证它。仅存储密码和盐的哈希值更常见且更安全。没有密钥是必要的,即使攻击者破坏数据库,他们也会有令人不安的恢复密码。唯一的缺点是你不能告诉用户他们的密码,你只能重置它们。