当用户创建密码时,我会将其哈希(包括盐)并保存在数据库中。
现在当用户想要更改他或她的密码时,我想测试新密码是否与旧密码太相似(我在不同的服务上看到过这样的操作,尤其是在线银行)。
所以,我想使用 similar_text 或 levenshtein 函数。如果用户必须输入旧密码,则可以使用该方法。
但是当用户忘记密码并需要重置密码时,显然不需要输入旧密码。因此,我需要将新密码与旧密码(保存在数据库中)进行比较,但我没有明文而是一个哈希值。
现在,当我使用相同的盐对新密码进行哈希,并将其与旧密码(已哈希)进行比较时,我无法确定新密码和旧密码是否相似。
我只是想知道公司如何做到这一点,当它们不将密码保存为明文在数据库中时?
在谷歌上我没找到什么有用的信息。如果有人有任何建议,或者链接到更详细讨论此问题的文章,我将不胜感激。
现在当用户想要更改他或她的密码时,我想测试新密码是否与旧密码太相似(我在不同的服务上看到过这样的操作,尤其是在线银行)。
所以,我想使用 similar_text 或 levenshtein 函数。如果用户必须输入旧密码,则可以使用该方法。
但是当用户忘记密码并需要重置密码时,显然不需要输入旧密码。因此,我需要将新密码与旧密码(保存在数据库中)进行比较,但我没有明文而是一个哈希值。
现在,当我使用相同的盐对新密码进行哈希,并将其与旧密码(已哈希)进行比较时,我无法确定新密码和旧密码是否相似。
我只是想知道公司如何做到这一点,当它们不将密码保存为明文在数据库中时?
在谷歌上我没找到什么有用的信息。如果有人有任何建议,或者链接到更详细讨论此问题的文章,我将不胜感激。