0

我要求重置密码时,新密码应与旧密码不同。我正在考虑将其设计为具有多个密码对象的用户对象和包含用户 ID、密码和创建日期的密码对象。

重置密码时,它将检查新密码与用户的所有旧密码(最新密码除外),如果找到匹配,则将其丢弃。

如果它不在旧密码列表中,它将在密码列表中为用户创建一个新条目。当用户登录时,系统应该根据 createdDate 检查最新的密码。

只是想检查您对此设计的想法,看看是否有更好的方法来做到这一点。谢谢。

4

1 回答 1

0

(最新密码除外)

您为什么不根据最新密码检查它?请注意,您在实际存储新密码之前已经提到了此步骤。所以你应该检查它与所有旧密码。

这听起来不错,但是您的Password属性应该是加盐和散列的密码,而不是纯文本的实际密码。

您应该选择标准(即强大且经过验证的)算法,例如PBKDF2bcrypt

于 2014-07-29T09:07:04.147 回答