如何使用PasswordHasher的VerifyHashedPassword方法?

问题描述:

我想弄清楚如何使用VerifyHashedPassword方法,这是我到目前为止。我该如何知道密码是否已被验证?如何使用PasswordHasher的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,这与失败,成功或SuccessRehashNeeded的可能值的枚举。你根本没有评估方法的结果。你需要的是更多的东西一样:

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

return result == PasswordVerificationResult.Success; 

您可以检查MSDN docs

+0

太棒了,谢谢..现在我要弄清楚为什么我在验证时会一直失败,即使密码在传递中是正确的 – Chris