phpass: почему не работает HashPassword?

Я читаю руководство по phpass В какой-то момент он проверяет результат хеширования следующим образом:

$hash = $hasher->HashPassword($pass);
if (strlen($hash) < 20)
    fail('Failed to hash new password');

Я понимаю, что это минимальная длина для хэша phpass, но я не понимаю, почему он потерпит неудачу. Это вообще возможно? Я имею в виду, кого / что я должен винить, если это произойдет? Как это предотвратить? Я также разместил комментарий об этом на веб-странице.

Для справки вы можете найти код PasswordHash::HashPassword() в этом вопросе: Как * может быть надежный хешированный пароль?

1 ответ

Решение

Я заметил, что некоторые базовые библиотеки, такие как "crypt", не работают изящно, когда что-то не так, а просто возвращают более короткую строку.

Может быть, это симптом этой проблемы и просто дополнительная мера предосторожности.

Другие вопросы по тегам