我正在尝试使用this hashing function,但每次重新加载页面时,它都会给我一个不同的字符串,除了前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。
答案 0 :(得分:7)
该哈希算法每次都使用随机盐。它的设计每次都不同,即使输入相同。
要检查密码,请使用该库中包含的password_verify
功能。
注意:开头的$2y$11$
指定用于生成哈希的算法和成本。
答案 1 :(得分:0)
这是对的。该值包含随机salt以阻止rainbow table attacks。