Сравнение разовых солей и паролей - PullRequest
3 голосов
/ 22 сентября 2011

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

Если клиент генерирует новую соль каждый сеанс, разве результирующий хэш соли + пароль не будет отличаться каждый сеанс?Если да, то как сервер сможет сравнить отправленный пароль с сохраненным паролем?Есть ли способ для серверов сравнивать различные хеши и при этом различать, что использовался один и тот же пароль?

(Отказ от ответственности: я не пытаюсь заново изобрести колесо / написать протокол входа в систему (я знаюЯ знаю: использовать SSL / TLS). Мне просто любопытно, как функционирует протокол входа в систему на высоком уровне)

Ответы [ 2 ]

3 голосов
/ 22 сентября 2011

Вам нужно генерировать соль только один раз и может каждый раз при смене пароля.

Клиенту не нужно хранить соль где-либо или даже знать об этом.Соль будет храниться на сервере - вместе с хешем.

Рекомендуется хранить хеш и соль в двух разных базах данных.

3 голосов
/ 22 сентября 2011

вы создаете новую соль только тогда, когда пользователь устанавливает пароль изначально.Затем вы сохраняете соль вместе с хешем пароля.

...