bcrypt и случайно сгенерированные соли
bcrypt — это алгоритм хеширования паролей, который использует соль для повышения безопасности. Соление включает в себя включение случайных данных в хеш пароля, гарантируя, что даже идентичные пароли будут давать разные хешированные результаты.
Предоставленный класс PHP включает функцию genSalt(), которая генерирует случайную соль с использованием функции openssl_random_pseudo_bytes(). Эта соль затем используется как часть процесса хеширования bcrypt в функции genHash().
Функция genHash() принимает пароль и объединяет его со случайно сгенерированной солью. Полученный хэш представляет собой смесь исходного пароля, соли и префикса, специфичного для алгоритма ($2y$), который указывает алгоритм bcrypt и его параметры (например, коэффициент рабочей нагрузки).
Для проверки пароля предусмотренная функция проверки() сравнивает введенный пароль с сохраненным хешем. Он делает это путем объединения предоставленного пароля с сохраненным хешем и использования функции crypt() для его повторного хеширования.
Ключ к пониманию того, почему соль генерируется случайно не влияет на проверку пароля — необходимо проверить формат сохраненного хэша. Хэш состоит из двух основных частей:
Когда функцияverify() хеширует предоставленный пароль с сохраненным хешем, в качестве входных данных она использует только солевую часть. Это гарантирует, что соль будет включена в процесс проверки.
Подводя итог, хотя bcrypt генерирует случайные соли для обеспечения безопасности пароля, процесс проверки пароля учитывает только часть соли. сохраненный хеш. Это позволяет сверить предоставленный пароль с сохраненным хешем, даже если соль генерируется случайным образом.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3