5

我正在尝试使用这个散列函数,但每次我重新加载页面时,它都会给我一个不同的字符串,除了前 7 个字符。

<?php  
require("lib/password.php")  
$pass = $_POST['input_password'];
echo 'Received: '.$pass.'<br />';
$passwordHash = 'default';   
$passwordHash = password_hash(trim($pass), PASSWORD_DEFAULT, ["cost" => 11]);   
echo 'Password hash is '.$passwordHash;  

例如,我通过 aaa 并获取哈希

$2y$11$1Ll4twbmFNWhVxBOCeDWhOtZ4WchW.GYXK3LSH9BnW6AhXf45soWq
$2y$11$H0dmOkkq3rSgggDbGueRPusODmkZrrFqG7I/R1B0tFTQEYGHB0iZi
$2y$11$z0pFOoFsD5Bk0sx2TiT3kOd2awAwDBQAsQaxlDq11kNH.ldaS1qw2

我在 Windows 7 64 位和 Firefox 17 上使用 WAMP Server 2.2。

4

2 回答 2

8

该哈希算法每次都使用随机盐。它的设计每次都不同,即使输入相同。

要检查密码,请使用该password_verify库中包含的函数。

注意:$2y$11$开头的 指定用于生成哈希的算法和成本。

于 2013-01-10T19:44:50.097 回答
0

这是对的。该值包括一个随机以阻止彩虹表攻击

于 2013-01-10T19:44:57.867 回答