问题描述: 在Blazor中使用C#的PasswordHasher.VerifyPassword方法时,无论输入的密码是否正确,该方法始终返回失败。
解决方法:
var passwordHasher = new PasswordHasher();
string hashedPassword = passwordHasher.HashPassword(password);
var passwordHasher = new PasswordHasher();
var result = passwordHasher.VerifyPassword(hashedPassword, password);
services.AddIdentity()
.AddPasswordHasher>();
请注意,此处的User和Role是自定义的用户和角色实体。确保正确配置了密码哈希算法。
检查密码哈希字段的长度是否足够长,以容纳哈希后的密码。如果密码哈希字段的长度太短,将无法正确存储和验证哈希后的密码。
如果使用了自定义的哈希算法或扩展的PasswordHasher类,确保正确实现了哈希密码和验证密码的逻辑。可以参考Microsoft的文档和示例代码来确保正确实现了这些方法。
通过检查以上几点,您应该能够解决Blazor中PasswordHasher.VerifyPassword始终返回失败的问题。
上一篇:Blazor C# 发送电子邮件
下一篇:Blazor 材料设计组件库