クラス Argon2PasswordEncoder
java.lang.ObjectSE
org.springframework.security.crypto.password.AbstractValidatingPasswordEncoder
org.springframework.security.crypto.argon2.Argon2PasswordEncoder
- 実装されているすべてのインターフェース:
PasswordEncoder
Argon2 ハッシュ関数を使用する PasswordEncoder の実装。クライアントはオプションで、使用するソルトの長さ、生成されたハッシュの長さ、CPU コストパラメーター、メモリコストパラメーター、並列化パラメーターを提供できます。
注:
現在の実装では、パスワードクラッカーが行う並列処理 / 最適化を利用しない Bouncy Castle を使用しているため、攻撃者と防御者の間に不必要な非対称性があります。
- 導入:
- 5.3
コンストラクターの概要
コンストラクターコンストラクター説明Argon2PasswordEncoder(int saltLength, int hashLength, int parallelism, int memory, int iterations) 指定されたパラメーターを使用して Argon2 パスワードエンコーダーを構築します。メソッドのサマリー
修飾子と型メソッド説明static Argon2PasswordEncoder使用すべきではありません。static Argon2PasswordEncoder16 バイトのソルト長、32 バイトのハッシュ長、1 の並列処理、1 << 14 のメモリコスト、2 回の反復で Argon2 パスワードエンコーダを構築します。protected StringSEencodeNonNullPassword(StringSE rawPassword) protected booleanmatchesNonNull(StringSE rawPassword, StringSE encodedPassword) protected booleanupgradeEncodingNonNull(StringSE encodedPassword) クラス org.springframework.security.crypto.password.AbstractValidatingPasswordEncoder から継承されたメソッド
encode, matches, upgradeEncoding
コンストラクターの詳細
Argon2PasswordEncoder
public Argon2PasswordEncoder(int saltLength, int hashLength, int parallelism, int memory, int iterations) 指定されたパラメーターを使用して Argon2 パスワードエンコーダーを構築します。- パラメーター:
saltLength- ソルトの長さ (バイト単位)hashLength- ハッシュの長さ (バイト単位)parallelism- 平行度memory- メモリコストiterations- 反復回数
メソッドの詳細
defaultsForSpringSecurity_v5_2
使用すべきではありません。代わりにdefaultsForSpringSecurity_v5_8()を使用してくださいソルトの長さが 16 バイト、ハッシュの長さが 32 バイト、並列処理が 1、メモリコストが 1 << 12、反復回数が 3 の Argon2 パスワードエンコーダを構築します。- 戻り値:
Argon2PasswordEncoder- 導入:
- 5.8
defaultsForSpringSecurity_v5_8
16 バイトのソルト長、32 バイトのハッシュ長、1 の並列処理、1 << 14 のメモリコスト、2 回の反復で Argon2 パスワードエンコーダを構築します。- 戻り値:
Argon2PasswordEncoder- 導入:
- 5.8
encodeNonNullPassword
matchesNonNull
- 次で指定:
- クラス
AbstractValidatingPasswordEncoderのmatchesNonNull
upgradeEncodingNonNull
- オーバーライド:
- クラス
AbstractValidatingPasswordEncoderのupgradeEncodingNonNull
defaultsForSpringSecurity_v5_8()を使用してください