PASSWORD_DEFAULT против PASSWORD_BCRYPT

В чем разница между PASSWORD_DEFAULT и PASSWORD_BCRYPT? Используют ли они оба алгоритма шифрования Blowfish? Какова стоимость в алгоритме? Как настроить пароль_hash в PHP, производят 255-хэш-длину вместо 60?

В настоящее время PASSWORD_BCRYPT является единственным поддерживаемым алгоритмом (используя CRYPT_BLWFISH), поэтому в настоящее время нет разницы между PASSWORD_DEFAULT и PASSWORD_BCRYPT . Цель PASSWORD_DEFAULT – разрешить включение дополнительных алгоритмов в будущем, после чего PASSWORD_DEFAULT всегда будет использоваться для применения самого сильного поддерживаемого алгоритма хэширования.

Стоимость связана с количеством итераций алгоритма, который выполняется, и влияет на скорость вычисления, а также на генерируемое хеш-значение. Более высокие затраты занимают больше времени, чтобы замедлить атаки грубой силы

По документации PASSWORD_DEFAULT предназначен для будущего доказательства

Из документов:

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

На данный момент нет разницы между PASSWORD_DEFAULT и PASSWORD_BCRYPT ( http://www.php.net/manual/en/password.constants.php ). Стоимость будет зависеть от количества раундов хеша будет применяться. Это также объясняется в приведенной выше ссылке. Если вы хотите повысить безопасность своего хеша, вы можете увеличить количество раундов вместо длины.

Другой хороший пример показан здесь: https://wwphp-fb.github.io/faq/security/passwords/

В настоящее время PASSWORD_DEFAULT является PASSWORD_BCRYPT а в качестве языка и криптографии будут поддерживаться различные типы алгоритмов. PASSWORD_DEFAULT заменяется новым алгоритмом (например, Argon2). Хороший выбор – всегда использовать PASSWORD_DEFAULT .