如何使用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。
太棒了,谢谢..现在我要弄清楚为什么我在验证时会一直失败,即使密码在传递中是正确的 – Chris