«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Влияет ли случайно сгенерированная соль на проверку пароля с помощью bcrypt?

Влияет ли случайно сгенерированная соль на проверку пароля с помощью bcrypt?

Опубликовано 10 ноября 2024 г.
Просматривать:495

Does Randomly Generated Salt Affect Password Verification with bcrypt?

bcrypt и случайно сгенерированные соли

Background

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

Генерация и хеширование соли

Предоставленный класс PHP включает функцию genSalt(), которая генерирует случайную соль с использованием функции openssl_random_pseudo_bytes(). Эта соль затем используется как часть процесса хеширования bcrypt в функции genHash().

Функция genHash() принимает пароль и объединяет его со случайно сгенерированной солью. Полученный хэш представляет собой смесь исходного пароля, соли и префикса, специфичного для алгоритма ($2y$), который указывает алгоритм bcrypt и его параметры (например, коэффициент рабочей нагрузки).

Проверка пароля

Для проверки пароля предусмотренная функция проверки() сравнивает введенный пароль с сохраненным хешем. Он делает это путем объединения предоставленного пароля с сохраненным хешем и использования функции crypt() для его повторного хеширования.

Понимание логики сравнения хешей

Ключ к пониманию того, почему соль генерируется случайно не влияет на проверку пароля — необходимо проверить формат сохраненного хэша. Хэш состоит из двух основных частей:

  1. Префикс алгоритма ($2y$), коэффициент рабочей нагрузки (например, 10) и соль (например, abcdefg...)
  2. Хешированный пароль

Когда функцияverify() хеширует предоставленный пароль с сохраненным хешем, в качестве входных данных она использует только солевую часть. Это гарантирует, что соль будет включена в процесс проверки.

Вывод

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

Заявление о выпуске Эта статья перепечатана по адресу: 1729415415. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3