【发布时间】:2015-02-20 10:05:54
【问题描述】:
我正在尝试使用 password_hash() PHP 函数对用户密码进行哈希处理。但是,它的功能是工作哈希,而不是恒定的。
<?php
echo password_hash('a',PASSWORD_BCRYPT,array(
'cost' => 12
));
?>
第四次测试结果
1. $2y$12$SRmipqM7AsYkx3Xc8QGHNex69rGXeVyWGTYrh9T8sh1cP3UrdjfQi
2. $2y$12$zx.GUgtcake3wMfl3/YXXeG1.8mmHKyRruL3nWj8OmA.RbEYqeW6u
3. $2y$12$XQtmFplcehkgWLbGrOUsNOlXDU/NGrwZlt3HM88hLbUHXhjXNF4km
4. $2y$12$q9/OSZdDJw7af4Hw4MGlHeY7UMtWr9/Cj0nj/N6PaoilNoUBePt7O
【问题讨论】:
-
你期待什么?它会是恒定的吗?
-
每次使用
password_hash()时不带 salt 时,它会生成一个随机盐,这意味着您的密码不会是固定的。因为password_hash()生成散列并且散列基本上是盐+散列password_verify()方法需要密码和散列密码密码[参数1]将使用散列密码中的盐进行散列,如果它等于它返回true,否则它会失败:-)
标签: php password-hash php-password-hash