通过 ASP.NET Identity 更改密码时获取密码哈希的副本

Get copy of password hash when changing password via ASP.NET Identity

我有一个要求,以防止用户重复使用他们过去已经使用过的密码。为此,我想在单独的 table 中记录他们密码的散列版本,以便我可以将任何未来的密码更改与 table.

中的值进行比较

我目前使用以下身份验证方法更改密码。

IdentityResult result = await this.AppUserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword, model.NewPassword);

这会更改密码并将其作为散列存储在 AspNetUsers 中 table 但是有什么方法可以 return 该散列以便我自己存储它?

查看 Microsoft 这篇文章的第 3 部分,了解如何准确地执行您想要执行的操作。我实现了这个模式,效果很好。

Implementing custom password policy using ASP.NET Identity

这里有另一篇文章可以帮助您继续:

How To Customize Password Policy in ASP.Net Identity