phpass: почему не работает HashPassword?
Я читаю руководство по phpass В какой-то момент он проверяет результат хеширования следующим образом:
$hash = $hasher->HashPassword($pass);
if (strlen($hash) < 20)
fail('Failed to hash new password');
Я понимаю, что это минимальная длина для хэша phpass, но я не понимаю, почему он потерпит неудачу. Это вообще возможно? Я имею в виду, кого / что я должен винить, если это произойдет? Как это предотвратить? Я также разместил комментарий об этом на веб-странице.
Для справки вы можете найти код PasswordHash::HashPassword()
в этом вопросе: Как * может быть надежный хешированный пароль?
1 ответ
Решение
Я заметил, что некоторые базовые библиотеки, такие как "crypt", не работают изящно, когда что-то не так, а просто возвращают более короткую строку.
Может быть, это симптом этой проблемы и просто дополнительная мера предосторожности.