Теория
Проверка пароля по bcrypt-хешу: алгоритм заново прогоняет введённый пароль с той же солью и числом раундов, что записаны в хеше, и сравнивает результат. Совпадение — пароль верный. Соль и cost хранятся прямо в строке хеша, поэтому отдельно их передавать не нужно.
Именно так работают системы входа: при регистрации пароль хешируют, при входе — проверяют ввод против хеша. Сам пароль нигде не хранится.
Важно: проверять нужно только оригинальный хеш, сгенерированный bcrypt; MD5/SHA-хеши этим режимом не проверяются.
Пример с решением
- Условие. Проверьте пароль «secret» против хеша «$2a$12$…».
- Формула. Прогон пароля с солью из хеша и сравнение результатов.
- Подстановка. Соль и cost читаются из начала хеша.
- Вычисление. Результат прогона совпадает с хешем.
- Ответ. «Пароль верный». Калькулятор с паролем secret и его хешем подтвердит совпадение; при неверном пароле покажет «не совпадает».
Главное
- Соль и cost берутся из самого хеша.
- Проверка — повторный прогон и сравнение.
- Пароль нигде не хранится.