ASP.NET Core パスワードのハッシュ化
プログラミング
公開: 2022年12月08日
概要
ASP.NET Core でパスワードをハッシュする KeyDerivation.Pbkdf2 API は低レベルの暗号化プリミティブであり、アプリを既存のプロトコルまたは暗号化システムに統合するために使います。 パスワード ベースのログインをサポートし、ハッシュされたパスワードをデータストアに格納する必要がある新しいアプリでは、KeyDerivation.Pbkdf2 を使わないでください。 新しいアプリでは、PasswordHasher を使う必要があります。 PasswordHasher について詳しくは、「ASP.NET Core の Identity PasswordHasher の概要」をご覧ください。
というわけで PasswordHasher
を使ったコード。
public static class StringExtensions
{
public static string HashPassword(this string password)
{
return new PasswordHasher<string>().HashPassword("", password);
}
public static bool VerifyHashedPassword(this string password, string hashedPassword)
{
var result = new PasswordHasher<string>().VerifyHashedPassword("", hashedPassword, password);
return
result == PasswordVerificationResult.Success ||
result == PasswordVerificationResult.SuccessRehashNeeded;
}
}
参考
ASP.NET でのパスワード格納 ASP.NET Core でパスワードをハッシュする ASP.NET Core の Identity PasswordHasher の概要(英語)