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) ユーザーのアカウントから取得したハッシュ化されたパスワード値に対してパスワードを確認します。 |
default void initialize(MapSE<StringSE,StringSE> parameters)
DatabaseIdentityStoreDefinition.hashAlgorithmParameters()
属性で指定された名前と値のペアです。実装はパラメーターをサポートする必要はなく、渡されたパラメーターを無視する場合があります。新しいパスワードハッシュを生成するときに実装が指定されたパラメーターを使用するが、検証時に既存のパスワードハッシュと共に保存されるパラメーターを優先して無視することも可能です。
パラメーターが指定されていない場合、引数は空の Map
SE です。
parameters
- 指定されたパラメーターの Map
SE。パラメーターが指定されなかった場合は空になります。StringSE generate(char[] password)
このメソッドを使用して、検証目的でパスワードハッシュを生成しないでください。そのために verify(char[], String)
を使用します。このメソッドは、新しいパスワードまたは変更されたパスワードのパスワードハッシュを生成する場合にのみ使用してください。
返されたハッシュ値は完全にエンコードする必要があります。そのため、追加のフォーマットやエンコードを適用せずに、そのまま直接格納できます。
password
- ハッシュを生成するパスワード。boolean verify(char[] password, StringSE hashedPassword)
hashedPassword
パラメーターは、データベースから取得したとおりに提供する必要があります。デコードやフォーマットは適用されません。password
パラメーターをハッシュして、ハッシュされたパスワードと比較する必要があります。
password
- 確認するパスワード。hashedPassword
- 比較するハッシュ化されたパスワード。Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.