Поскольку в ASP.NET Core Identity используется более безопасный механизм хеширования паролей, по умолчанию вы не можете использовать более старую версию ASP.NET Identity для доступа к той же базе данных, поскольку она не понимает новый механизм.Однако все, что работает «из коробки», - это использовать ASP.NET Core Identity со старыми хешами, поскольку хеш фактически имеет версионную версию, что упрощает миграцию из более старой базы данных.
Если вам нужны ASP.NET Core Identity и ASP.NET Identity, чтобы сосуществовать, используя одну и ту же базу данных, вам придется использовать более старый алгоритм хеширования, поскольку это единственный поддерживаемый ASP.NET Identity.К счастью, вы можете настроить ASP.NET Core Identity для использования только самого этого алгоритма.
Настройка описана в документации и выглядит следующим образом:
services.Configure<PasswordHasherOptions>(option =>
{
option.CompatibilityMode = PasswordHasherCompatibilityMode.IdentityV2;
});
Это позволит эффективно понизить ASP.NET Core Identity для использования более старого алгоритма и обеспечить полную совместимость с ASP.NET Identity.