You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP Identity Framework中VerifyHashedPassword始终返回Failed问题排查

VerifyHashedPassword验证失败的原因及解决方法

你调用VerifyHashedPassword时的参数顺序完全错误,这是导致验证始终失败的核心原因。

VerifyHashedPassword方法的参数规则是:

  • 第一个参数:数据库中存储的用户哈希密码(对应你的代码里的appUser.PasswordHash)
  • 第二个参数:用户输入的原始明文密码(对应你的代码里的model.Password)

你当前的代码把两个参数的顺序搞反了,相当于让方法去验证“存储的哈希密码”是否匹配“新生成的哈希值”,逻辑完全颠倒,所以必然返回PasswordVerificationResult.Failed。

修正后的代码如下:

// 生成哈希的逻辑没问题
var H1 = _signInManager.UserManager.PasswordHasher.HashPassword(model.Password);
// 修正VerifyHashedPassword的参数顺序
var V1 = _signInManager.UserManager.PasswordHasher.VerifyHashedPassword(appUser.PasswordHash, model.Password);
var res = V1 == PasswordVerificationResult.Success;
Assert.IsTrue(res);

内容的提问来源于stack exchange,提问作者KoolKabin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 06:45:37