Как изменить хэш пароля удостоверения AspNet на хэш пароля удостоверения AspNet.Core

Мы используем Identity Server 4 для аутентификации и авторизации пользователя. Мы реализовали хэш пароля идентификатора ASPNET.Core в нашем логине и использовали хеш пароля ASPNET.Identity в нашей регистрации. Как мы можем изменить хэш пароля регистрации на Хеш пароля входа в систему.

Я установил базовый пакет Nuget ASPNET и использовал метод IPassword Hasher. Я не понимаю, как это разрешить.


person Mark    schedule 06.06.2019    source источник
comment
Вы не можете просто так преобразовать одно хеш-значение в другое.   -  person Vidmantas Blazevicius    schedule 07.06.2019
comment
Есть ли способ реализовать это?   -  person Mark    schedule 07.06.2019
comment
Нет, но в своем ответе я дал вам некоторые мысли и идеи о том, как подойти к этому потенциально.   -  person Vidmantas Blazevicius    schedule 07.06.2019


Ответы (1)


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

Я встречал этот сценарий в нескольких проектах, где мы меняли механизм хеширования паролей и, по сути, нам приходилось отправлять всем электронные письма для сброса пароля. В другом проекте это было невозможно, поэтому в основном мы заставляли пользователя изменить свой пароль при первом входе в систему (и мы использовали старый хешер для проверки их текущего пароля), и новые пароли затем хешировались с использованием нового хешера.

person Vidmantas Blazevicius    schedule 07.06.2019
comment
Спасибо за ответ. Можем ли мы переопределить или заменить хешер паролей в Asp.Net.Identity хешером паролей Asp.Net Core Identity? - person Mark; 07.06.2019
comment
Да, вы должны иметь возможность установить свой CustomUserManager.PasswordHasher = new YourCustomPasswordHasher теоретически, где YourCustomPasswordHasher является реализацией хешера паролей ASP.NET Core, поскольку он имеет открытый исходный код. По сути, вам нужно самостоятельно перенести код. - person Vidmantas Blazevicius; 07.06.2019