如何使用PasswordHasher的VerifyHashedPassword方法?

Chr*_*ris 1 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;            
    }
Run Code Online (Sandbox Code Playgroud)

Mat*_*t M 5

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

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

return result == PasswordVerificationResult.Success;   
Run Code Online (Sandbox Code Playgroud)

您可以查看MSDN文档.

  • 太棒了,谢谢..现在我要弄清楚为什么即使通过密码正确也无法通过验证 (2认同)