给定一个原始密码
- 创造一种独特的盐
- 将其附加到原始密码
- brcypt / SHA512 这个组合使用随时间变化的一次性密钥
- 将加密的密码和盐存储在用户表中
验证身份
- 将盐附加到原始密码
- bcrypt / SHA512 组合验证
- 根据 db 散列值检查散列值
在验证部分,如果当前密钥不再相同怎么办?我是否应该始终保留旧密钥列表并对其进行迭代以验证该旧密码是否是使用其中一个旧密钥生成的?如果验证者返回 true,我将更新新的加密密码。
另外,我怎样才能确定盐对每个用户的每个密码都是唯一的?
这就是我需要做的吗?
有什么遗漏吗?谢谢。