我正在使用 BCrypt 实现密码散列,这应该很容易使用。但是,当使用哈希密码检查密码时
BCryptHelper.CheckPassword(Password, hashedDBPassword)
这总是返回假。
这是我的哈希类:
public static class BCryptHasher
{
public static string EncryptPassword(string password)
{
var passwordToHash = password;
var hashedPassword = BCryptHelper.HashPassword(passwordToHash, BCryptHelper.GenerateSalt(6));
return hashedPassword;
}
public static bool CheckPasswordMatch(string userPassword, string hashedDBPassword)
{
return BCryptHelper.CheckPassword(userPassword, hashedDBPassword);
}
}
我已经调试检查密码和 hashedPassword 是否正确。这个问题的其他案例并不多,所以一定是我做错了什么。
我在这里发现了同样的问题:ASP.NET MVC 3 app, BCrypt.CheckPassword failed but no solution has been found yet。
也许还有其他更好的哈希解决方案?
谢谢