我正在尝试弄清楚如何使用 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/