PHP:password_hash()检查生成的哈希是否唯一? (理解!)

时间:2017-06-09 09:02:11

标签: php password-hash

简单的问题,因为我没有在谷歌上找到真正有用的答案:password_hash()函数是否也检查是否已经在userdata文件中生成了这样的哈希? 我基本上得到了函数正在做的事情,但我对php很新,所以我真的无法看到是否检查了密码的唯一性。

请在这里温和这个noob问题。我只想了解我在那里使用的东西,而不仅仅是因为我在大学的练习单告诉了我。

3 个答案:

答案 0 :(得分:1)

password_hash()函数的设计方式极不可能重复,因此从开发人员的角度来看,理论上两个哈希值无关紧要。

由于password_hash()函数的属性,并且因为它为每个密码生成一个随机的盐...

  1. 函数生成重复的可能性非常小,即使两个用户使用相同的密码,该函数也会生成不同的哈希值
  2. 无论如何都无法搜索哈希,你需要另一个搜索关键字,比如用户名,所以复制本身也不是问题。

答案 1 :(得分:0)

没有

有两个原因:

  • 该功能对"其他"不知道任何事情。密码。
  • 你不想要这个。如果你重复一遍,你会怎么做?告诉用户?然后他会知道某人的密码。

答案 2 :(得分:-1)

不,它不会检查唯一性。