私は BCrypt を使用してパスワード ハッシュを実装しています。これは非常に簡単に使用できるはずです。ただし、パスワードがハッシュ化されたパスワードに対してチェックされる場合、
BCryptHelper.CheckPassword(Password, hashedDBPassword)
これは常に false を返します。
ここに私のハッシュクラスがあります:
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 アプリ、BCrypt.CheckPassword が失敗していますが、解決策はまだ見つかりません。
たぶん、ハッシュのための他のより良い解決策がありますか?
ありがとう