Passwords 保存旧密码以进行身份验证的设计

Passwords 保存旧密码以进行身份验证的设计,passwords,data-modeling,object-oriented-analysis,object-model,password-storage,Passwords,Data Modeling,Object Oriented Analysis,Object Model,Password Storage,我有一个要求,当重置密码时,新密码应该与旧密码不同。我正在考虑将其设计为一个具有多个密码对象的用户对象,以及包含userId、Password和createdDate的密码对象 重置密码时,它将根据用户的所有旧密码(最新密码除外)检查新密码,如果找到匹配项,则将丢弃该密码 如果它不在旧密码列表中,它将在密码列表中为用户创建一个新条目。当用户登录时,系统应基于createdDate检查最新密码 我只是想看看你对这个设计的想法,看看是否有更好的方法。谢谢 除了最新的密码 你为什么不用最新的密码检查它

我有一个要求,当重置密码时,新密码应该与旧密码不同。我正在考虑将其设计为一个具有多个密码对象的用户对象,以及包含userId、Password和createdDate的密码对象

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

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

我只是想看看你对这个设计的想法,看看是否有更好的方法。谢谢

除了最新的密码

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

这听起来不错,但是您的Password属性应该是密码,而不是纯文本中的实际密码

您应该选择一个标准的算法,即强大且经过验证的算法,如or