为什么 phpass 对于相同的输入字符串返回不同的哈希值?
我习惯于让散列算法始终返回相同的散列。
为什么 phpass 库总是返回不同的哈希值?
和IV有关系吗? (我从来没有完全理解这个概念)
<?php
require __DIR__ . '/PasswordHash.php';
$hasher = new PasswordHash(11,false);
$password = 'bla123';
echo $hash = $hasher->hashPassword($password); // different for each request
I'm used to having hashing algorythms return always the same hash.
Why does phpass library return always different hashes?
Does it have something to do with the IV? (I never fully understood that concept)
<?php
require __DIR__ . '/PasswordHash.php';
$hasher = new PasswordHash(11,false);
$password = 'bla123';
echo $hash = $hasher->hashPassword($password); // different for each request
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根据此部分“如果用户已经存在怎么办?”这是这个库的正常行为
according to this section "What if the user already exists?" it's normal behaviour of this library
它使用 crypt(),它已经为同一字符串生成不同的哈希值。它使用不同的密钥对每个密码进行哈希处理,并将密钥存储在哈希值中(它是公共的)。
It uses crypt(), which already generates different hashes for the same string. It hashes each password with a different key, and it stores the key inside the hash (it's public).