Представьте себе сценарий, когда клиентское приложение отправляет пароль на внутренний сервер, чтобы сервер мог проверить, что пользователь ввел правильный пароль при сравнении с сохраненным вариантом пароля.
ТранспортМеханизм - HTTPS
, сервер предоставляет HSTS
& HPKP
пользовательскому агенту, а надежные криптографические шифры предпочтительнее для сервера, набравшего балл A + в тесте SSL Labs.Тем не менее, мы можем не посылать исходный пользовательский пароль на сервер от пользовательского агента.Вместо этого, возможно, мы отправим хеш после нескольких раундов SHA-256 на клиенте.
На стороне сервера, для хранения паролей мы используем bcrypt с большим количеством раундов.
С криптографической точки зрения, есть ли какой-либо недостаток для выполнения bcrypt на уже хэшированном значении sha-256, а не на обычном текстовом пароле?Подрывает ли характер вводимого текста фиксированную длину при использовании хешей как-то сильные стороны алгоритма.
РЕДАКТИРОВАТЬ: Я не спрашиваю о производительности, такой как память, ЦП, требования к памяти или время настенных часов, необходимых длявычислять, хранить, отправлять или сравнивать значения.Меня просто интересует, может ли применение хеша перед применением bcrypt ослабить силу bcrypt в случае раскрытия полного списка сохраненных значений.