我想知道在我的网站上为我的用户密码使用password_hash两次是否可行/明智。 p >
让我们这样说: p>
-
用户在我的网站上注册,他们输入密码,我们会称之为 < 代码>输入 code>。 p> li>
-
在创建帐户期间,他们的密码是
$ firstHash = password_hash($ input,PASSWORD_BCRYPT) code>( 例如,让我们说 这个散列为“thisFirstHash” p> li>
一旦他们的密码被哈希,它就会再次进行哈希
$ firstHash = password_hash($ firstHash ,PASSWORD_BCRYPT) code>(例如,让 say这个散列为“thisSecondHash”) p> li>
这第二个散列是存储在数据库中的内容,所以 现在当他们 登录时,服务器必须解密哈希散列。 p> li>
当用户登录时,他们再次输入密码,我们将再次 call
input code> p> li>
然后服务器必须重新加密输入到比较 e使用保存的 hash
$ loginHash1 = password_hash($ input,PASSWORD_BCRYPT) code> p> li>
服务器比较新的
loginHash1 code>变量与保存的 hash
password_verify($ loginHash1,“thisSecondHash”) code> p> li>
如果第一个哈希匹配,则比较第二个哈希 p> LI>
<代码> password_verify($输入, “thisFirstHash”)代码> p> LI> UL>
我无法在我的小测试环境中正常工作,我怀疑它与登录阶段的随机盐在重新输入输入时有所不同。 p> < p>所以我的问题是, p>
- 是否可以这样做? li>
- 这样做有益吗? li> ol> div>