如何将 AspNet 身份密码哈希更改为 AspNet.Core 身份密码哈希

How to Change AspNet Identity Password Hash to AspNet.Core Identity Password Hash

我们正在使用 Identity Server 4 进行用户登录身份验证和授权。我们在登录中实施了 ASP NET.Core 身份密码哈希,并在注册中使用了 ASPNET.Identity 密码哈希。我们如何将注册密码哈希更改为登录密码哈希。

我已经安装了 ASPNET 核心 nuget 包并使用了 IPassword Hasher 方法。我不知道如何解决这个问题。

您不能简单地将哈希值从一个密码哈希器转换为另一个密码哈希器,除非它们当然使用完全相同的哈希机制(在这种情况下,一开始就不需要转换)。

我在几个更改密码哈希机制的项目中遇到过这种情况,实际上,我们不得不向每个人发送密码重置电子邮件。在另一个项目中,这是不可行的,所以基本上我们强制用户在第一次登录时更改他们的密码(我们使用旧的散列器来验证他们当前的密码)然后新密码将使用新的散列器进行散列。