c# - 如何使用PasswordHasher的VerifyHashedPassword方法?

标签 c# asp.net-identity

我正在尝试弄清楚如何使用 VerifyHashedPassword 方法,这就是我目前得到的结果。我怎么知道密码是否已经过验证?

public bool VerifyPassword(string pass)
    {
        PasswordHasher passwordHasher = new PasswordHasher();

        HDA = new HWCDA();

        HWCE = new HWCEntities();

        string userPass = HWCE.AspNetUsers.Where(w => w.UserID == 1).Select(s => s.PasswordHash).FirstOrDefault().ToString();

        bool result = false;

        passwordHasher.VerifyHashedPassword(userPass, pass);

        return false;            
    }

最佳答案

VerifyHashedPassword 方法返回 PasswordVerificationResult ,它是一个枚举,可能的值为 Failed、Success 或 SuccessRehashNeeded。您根本没有评估该方法的结果。你想要的更像是:

var result = passwordHasher.VerifyHashedPassword(userPass, pass);

return result == PasswordVerificationResult.Success;   

您可以查看 MSDN docs .

关于c# - 如何使用PasswordHasher的VerifyHashedPassword方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46428084/

相关文章:

c# - Parallels.ForEach 与 Foreach 花费相同的时间

c# - 控制 IBM 大型机中新线路的出现

c# - Asp.Net 标识 : invalid_request on redirect when calling REST function GetExternalLogin

c# - 在 Membership.ValidateUser(string userName, string password) 中使用 SecureString

mysql - asp.net Identity 2.0的Extent用户表

ASP.NET Core EF6 身份

c# - 如何使用 Selenium、Webdriver、C# 在 Esri map 上绘制多边形

c# - 使用字节作为主键数据类型

c# - 从 SqlCommand 对象发送什么 SQL

c# - 更改 ASP.NET Identity 存储用户数据的数据库