Это может быть скорее концептуальный вопрос. В Asp.Net удостоверяющем личность PasswordHasher генерирует другой хэш для одной и той же строки, каждый раз, когда вы делаете:Как проверить пароль вручную в идентификаторе Asp.Net 2?
new PasswordHasher.HashPassword("myString");
Теперь, если по какой-то причине мне нужно вручную сравнивать ввод пользователя с паролем, сохраненным в базе данных, я скорее всего, получите другую строку, когда я использую введенный пользователем пароль, чем тот, который хранится в базе данных.
Может кто-нибудь, пожалуйста, объясните мне это? Не следует ли хэшировать один и тот же результат строки в том же хеше, а если нет, то как сам Identity понимает, что два разных хэша на самом деле одинаковы?
Куда соль переходит в метод? для правильного «хэширования» пароля он должен использовать ту же соль, которая использовалась для хеширования исходного пароля. – webworm
@webworm соль включена в 'hashedPassword'. Таким образом, передавая «hashedPassword», соль также перешла к методу. –