インターフェース PasswordHash

すべての既知のサブインターフェース:
Pbkdf2PasswordHash

public interface PasswordHash
PasswordHash は、パスワードハッシュを生成および検証できるオブジェクトのインターフェースです。

DatabaseIdentityStoreDefinition アノテーションの型を構成することにより、組み込みデータベース IdentityStore の PasswordHash の実装が構成されます。PasswordHash のパラメーターもアノテーションで構成でき、IdentityStore が初期化されるときに initialize(Map) メソッドに渡されます。

関連事項:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    generate(char[] password)
    ユーザーのアカウントに保存するためのエンコードされたパスワードハッシュ値を生成します。
    default void
    パスワードハッシュの生成と確認に使用するパラメーターでインスタンスを初期化します。
    boolean
    verify(char[] password, StringSE hashedPassword)
    ユーザーのアカウントから取得したハッシュ化されたパスワード値に対してパスワードを確認します。
  • メソッドの詳細

    • initialize

      default void initialize(MapSE<StringSE,StringSE> parameters)
      パスワードハッシュの生成と確認に使用するパラメーターでインスタンスを初期化します。パラメーターは、DatabaseIdentityStoreDefinition.hashAlgorithmParameters() 属性で指定された名前と値のペアです。

      実装はパラメーターをサポートする必要はなく、渡されたパラメーターを無視する場合があります。新しいパスワードハッシュを生成するときに実装が指定されたパラメーターを使用するが、検証時に既存のパスワードハッシュと共に保存されるパラメーターを優先して無視することも可能です。

      パラメーターが指定されていない場合、引数は空の MapSE です。

      パラメーター:
      parameters - 指定されたパラメーターの MapSE。パラメーターが指定されなかった場合は空になります。
    • generate

      StringSE generate(char[] password)
      ユーザーのアカウントに保存するためのエンコードされたパスワードハッシュ値を生成します。

      このメソッドを使用して、検証目的でパスワードハッシュを生成しないでください。そのために verify(char[], String) を使用します。このメソッドは、新しいパスワードまたは変更されたパスワードのパスワードハッシュを生成する場合にのみ使用してください。

      返されたハッシュ値は完全にエンコードする必要があります。そのため、追加のフォーマットやエンコードを適用せずに、そのまま直接格納できます。

      パラメーター:
      password - ハッシュを生成するパスワード。
      戻り値:
      生成されたパスワードハッシュ値。
    • verify

      boolean verify(char[] password, StringSE hashedPassword)
      ユーザーのアカウントから取得したハッシュ化されたパスワード値に対してパスワードを確認します。

      hashedPassword パラメーターは、データベースから取得したとおりに提供する必要があります。デコードやフォーマットは適用されません。password パラメーターをハッシュして、ハッシュされたパスワードと比較する必要があります。

      パラメーター:
      password - 確認するパスワード。
      hashedPassword - 比較するハッシュ化されたパスワード。
      戻り値:
      パスワードがハッシュされたパスワードと一致する場合は true、それ以外の場合は false。