Функция password_hash() считается более безопасной альтернативой функции crypt() по нескольким причинам:
- Использование случайной соли. micmap.org learntutorials.net Соль добавляют к паролю перед хэшированием, чтобы сделать исходную строку уникальной. learntutorials.net Это затрудняет сопоставление хэша пароля пользователя с хэшами паролей базы данных даже с помощью таблицы поиска известных хэшей. learntutorials.net Функция password_hash() создаёт случайную соль, если её не передали, и часто это доступная и одновременно безопасная защита паролей. konyakov.ru
- Сохранение соли вместе с полученным хешем. learntutorials.net Это позволяет хэшу быть переданным через разные системы и платформы и по-прежнему сопоставляться с исходным паролем. learntutorials.net
- Повышение безопасности кода. habr.com Функция password_hash() облегчает разработчику работу и повышает безопасность кода. habr.com
При этом функция crypt() также доступна для хеширования паролей, и её рекомендуют использовать для взаимодействия с другими системами. konyakov.ru Password_hash() реализуется как оболочка вокруг функции crypt(), поэтому можно использовать обе функции без потери функциональности. learntutorials.net