Максимальная длина сгенерированного хэша при использовании пароля_шиба?

я использую

password_hash($password, PASSWORD_BCRYPT); 

для шифрования пароля для хранения в базе данных. Поскольку я читаю, нет предела длины для хэшей, но мне нужно установить предел для создания поля в моей базе данных, который может соответствовать всем паролям (в худшем случае). Если я установил лимит в 20 символов для пароля в виде обычного текста, то как будет выглядеть пароль_hahs ()?

    Из документации password_hash :

    В настоящее время поддерживаются следующие алгоритмы:

    PASSWORD_DEFAULT – Использовать алгоритм bcrypt (по умолчанию с PHP 5.5.0). Обратите внимание, что эта константа предназначена для изменения с течением времени, когда новые и более сильные алгоритмы добавляются в PHP. По этой причине длина результата от использования этого идентификатора может меняться со временем. Поэтому рекомендуется сохранять результат в столбце базы данных, который может расширяться до 60 символов (255 символов будут хорошим выбором).

    PASSWORD_BCRYPT – Используйте алгоритм CRYPT_BLOWFISH для создания хэша. Это приведет к созданию стандартного хэша crypt (), использующего идентификатор «$ 2y $». Результат всегда будет состоять из 60 символов или FALSE при сбое.

    Поэтому, используя PASSWORD_BCRYPT , результат password_hash будет состоять из 60 символов.

    Результат BCrypt всегда будет состоять из 60 символов. Безлимитный – это только вход для функции, это означает, что вы не (и не должны) устанавливаете предел введенным паролям.

    Фактически BCrypt внутренне использует только около 72 символов, но он принимает пароли любой длины.

    Если вы хотите использовать функцию в своей будущей форме доказательства, как это (обратите внимание на PASSWORD_DEFAULT) …

     password_hash($password, PASSWORD_DEFAULT); 

    … тогда вы должны увеличить поле базы данных. Новые версии PHP могут заменить BCrypt другим алгоритмом хеширования по умолчанию, который может генерировать более длинные хэши.