哈希值在相同输入上总是不同的

Cel*_*tas 4 php passwords hash

我正在尝试使用此散列函数,但每次重新加载页面时,它都会给我一个不同的字符串,除了前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;  
Run Code Online (Sandbox Code Playgroud)

例如,我通过aaa并得到哈希

$2y$11$1Ll4twbmFNWhVxBOCeDWhOtZ4WchW.GYXK3LSH9BnW6AhXf45soWq
$2y$11$H0dmOkkq3rSgggDbGueRPusODmkZrrFqG7I/R1B0tFTQEYGHB0iZi
$2y$11$z0pFOoFsD5Bk0sx2TiT3kOd2awAwDBQAsQaxlDq11kNH.ldaS1qw2
Run Code Online (Sandbox Code Playgroud)

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

Roc*_*mat 7

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

要检查密码,请使用该password_verify库中包含的功能.

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