クラス Pbkdf2PasswordEncoder
java.lang.ObjectSE
org.springframework.security.crypto.password.Pbkdf2PasswordEncoder
- 実装されたすべてのインターフェース:
PasswordEncoder
PBKDF2 を使用する
PasswordEncoder
実装:- 構成可能なランダムソルト値の長さ (デフォルトは 16 バイトです)
- 構成可能な反復回数 (デフォルトは 310000 です)
- 構成可能な鍵導出関数 (
Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm
を参照してください) - ランダムソルトに追加された構成可能なシークレット (デフォルトは空です)
- 導入:
- 4.1
ネストされたクラスのサマリー
ネストされたクラスコンストラクターの概要
コンストラクターコンストラクター説明Pbkdf2PasswordEncoder
(CharSequenceSE secret, int saltLength, int iterations, int hashWidth) 使用すべきではありません。Pbkdf2PasswordEncoder
(CharSequenceSE secret, int saltLength, int iterations, Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm secretKeyFactoryAlgorithm) シークレット値、salt の長さ、反復、アルゴリズムを使用して、PBKDF2 パスワードエンコーダーを構築します。メソッドのサマリー
修飾子と型メソッド説明static Pbkdf2PasswordEncoder
使用すべきではありません。代わりにdefaultsForSpringSecurity_v5_8()
を使用してくださいstatic Pbkdf2PasswordEncoder
追加の秘密値なしで PBKDF2 パスワードエンコーダーを構築します。encode
(CharSequenceSE rawPassword) 生のパスワードをエンコードします。boolean
matches
(CharSequenceSE rawPassword, StringSE encodedPassword) ストレージから取得したエンコードされたパスワードが、エンコードされた後に送信された生のパスワードと一致することを確認します。void
setAlgorithm
(Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm secretKeyFactoryAlgorithm) 使用するアルゴリズムを設定します。void
setEncodeHashAsBase64
(boolean encodeHashAsBase64) 結果のハッシュを Base64 としてエンコードするかどうかを設定します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.security.crypto.password.PasswordEncoder から継承されたメソッド
upgradeEncoding
コンストラクターの詳細
Pbkdf2PasswordEncoder
@DeprecatedSE public Pbkdf2PasswordEncoder(CharSequenceSE secret, int saltLength, int iterations, int hashWidth) 使用すべきではありません。シークレット値、salt の長さ、繰り返し、ハッシュ幅を使用して、PBKDF2 パスワードエンコーダーを構築します。- パラメーター:
secret
- 秘密saltLength
- ソルトの長さ (バイト単位)iterations
- 反復回数。ユーザーは自分のシステムで約 0.5 秒かかることを目指す必要があります。hashWidth
- ハッシュのサイズ (ビット単位)- 導入:
- 5.5
Pbkdf2PasswordEncoder
public Pbkdf2PasswordEncoder(CharSequenceSE secret, int saltLength, int iterations, Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm secretKeyFactoryAlgorithm) シークレット値、salt の長さ、反復、アルゴリズムを使用して、PBKDF2 パスワードエンコーダーを構築します。- パラメーター:
secret
- 秘密saltLength
- ソルトの長さ (バイト単位)iterations
- 反復回数。ユーザーは自分のシステムで約 0.5 秒かかることを目指す必要があります。secretKeyFactoryAlgorithm
- 使用するアルゴリズム- 導入:
- 5.8
メソッドの詳細
defaultsForSpringSecurity_v5_5
使用すべきではありません。代わりにdefaultsForSpringSecurity_v5_8()
を使用してくださいシークレット値を追加せずに PBKDF2 パスワードエンコーダーを構築します。8 バイトのソルト長、185,000 反復、SHA-1 アルゴリズム、および 256 ビットのハッシュ長があります。デフォルトは、このクラスが追加されたときにパスワードを検証するために 0.5 秒をゴールとすることに基づいています。ユーザーは、パスワード検証を自分のシステムに合わせて調整する必要があります。- 戻り値:
Pbkdf2PasswordEncoder
- 導入:
- 5.8
defaultsForSpringSecurity_v5_8
シークレット値を追加せずに PBKDF2 パスワードエンコーダーを構築します。16 バイトのソルト長、310,000 反復、SHA-256 アルゴリズム、および 256 ビットのハッシュ長があります。デフォルトは、このクラスが追加されたときにパスワードを検証するために 0.5 秒をゴールとすることに基づいています。ユーザーは、パスワード検証を自分のシステムに合わせて調整する必要があります。- 戻り値:
Pbkdf2PasswordEncoder
- 導入:
- 5.8
setAlgorithm
使用するアルゴリズムを設定します。SecretKeyFactory アルゴリズムSEを参照- パラメーター:
secretKeyFactoryAlgorithm
- 使用するアルゴリズム (つまり、SecretKeyFactoryAlgorithm.PBKDF2WithHmacSHA1
、SecretKeyFactoryAlgorithm.PBKDF2WithHmacSHA256
、SecretKeyFactoryAlgorithm.PBKDF2WithHmacSHA512
)- 導入:
- 5.0
setEncodeHashAsBase64
public void setEncodeHashAsBase64(boolean encodeHashAsBase64) 結果のハッシュを Base64 としてエンコードするかどうかを設定します。デフォルトは false で、16 進数でエンコードされます。- パラメーター:
encodeHashAsBase64
- Base64 としてエンコードする場合は true、16 進数を使用する場合は false (default)
encode
インターフェースからコピーされた説明:PasswordEncoder
生のパスワードをエンコードします。一般に、適切なエンコードアルゴリズムは、8 バイト以上のランダムに生成されたソルトと組み合わせた SHA-1 以上のハッシュを適用します。- 次で指定:
- インターフェース
PasswordEncoder
のencode
matches
インターフェースからコピーされた説明:PasswordEncoder
ストレージから取得したエンコードされたパスワードが、エンコードされた後に送信された生のパスワードと一致することを確認します。パスワードが一致する場合は true を返し、一致しない場合は false を返します。保管されたパスワード自体は決してデコードされません。- 次で指定:
- インターフェース
PasswordEncoder
のmatches
- パラメーター:
rawPassword
- エンコードおよび照合する生のパスワードencodedPassword
- 比較するストレージからのエンコードされたパスワード- 戻り値:
- エンコード後の生のパスワードがストレージからのエンコードされたパスワードと一致する場合は true
Pbkdf2PasswordEncoder(CharSequence, int, int, SecretKeyFactoryAlgorithm)
を使用してください