インターフェース PasswordHash
- すべての既知のサブインターフェース:
Pbkdf2PasswordHash
public interface PasswordHash
PasswordHash
は、パスワードハッシュを生成および検証できるオブジェクトのインターフェースです。DatabaseIdentityStoreDefinition
アノテーションの型を構成することにより、組み込みデータベースIdentityStore
のPasswordHash
の実装が構成されます。PasswordHash
のパラメーターもアノテーションで構成でき、IdentityStore
が初期化されるときにinitialize(Map)
メソッドに渡されます。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド デフォルトメソッド 修飾子と型 メソッド 説明 StringSE
generate(char[] password)
ユーザーのアカウントに保存するためのエンコードされたパスワードハッシュ値を生成します。default void
initialize(MapSE<StringSE,StringSE> parameters)
パスワードハッシュの生成と確認に使用するパラメーターでインスタンスを初期化します。boolean
verify(char[] password, StringSE hashedPassword)
ユーザーのアカウントから取得したハッシュ化されたパスワード値に対してパスワードを確認します。
メソッドの詳細
initialize
default void initialize(MapSE<StringSE,StringSE> parameters)
パスワードハッシュの生成と確認に使用するパラメーターでインスタンスを初期化します。パラメーターは、DatabaseIdentityStoreDefinition.hashAlgorithmParameters()
属性で指定された名前と値のペアです。実装はパラメーターをサポートする必要はなく、渡されたパラメーターを無視する場合があります。新しいパスワードハッシュを生成するときに実装が指定されたパラメーターを使用するが、検証時に既存のパスワードハッシュと共に保存されるパラメーターを優先して無視することも可能です。
パラメーターが指定されていない場合、引数は空の
Map
SE です。- パラメーター:
parameters
- 指定されたパラメーターのMap
SE。パラメーターが指定されなかった場合は空になります。
generate
StringSE generate(char[] password)
ユーザーのアカウントに保存するためのエンコードされたパスワードハッシュ値を生成します。このメソッドを使用して、検証目的でパスワードハッシュを生成しないでください。そのために
verify(char[], String)
を使用します。このメソッドは、新しいパスワードまたは変更されたパスワードのパスワードハッシュを生成する場合にのみ使用してください。返されたハッシュ値は完全にエンコードする必要があります。そのため、追加のフォーマットやエンコードを適用せずに、そのまま直接格納できます。
- パラメーター:
password
- ハッシュを生成するパスワード。- 戻り値:
- 生成されたパスワードハッシュ値。
verify
boolean verify(char[] password, StringSE hashedPassword)
ユーザーのアカウントから取得したハッシュ化されたパスワード値に対してパスワードを確認します。hashedPassword
パラメーターは、データベースから取得したとおりに提供する必要があります。デコードやフォーマットは適用されません。password
パラメーターをハッシュして、ハッシュされたパスワードと比較する必要があります。- パラメーター:
password
- 確認するパスワード。hashedPassword
- 比較するハッシュ化されたパスワード。- 戻り値:
- パスワードがハッシュされたパスワードと一致する場合は true、それ以外の場合は false。