クラス Pbkdf2PasswordEncoder
- java.lang.Object
-
- org.springframework.security.crypto.password.Pbkdf2PasswordEncoder
- 実装されたすべてのインターフェース:
PasswordEncoder
public class Pbkdf2PasswordEncoder extends java.lang.Object implements PasswordEncoder
PBKDF2 を使用するPasswordEncoder
実装:- 構成可能なランダムソルト値の長さ (デフォルトは 8 バイトです)
- 構成可能な反復回数 (デフォルトは 185000 です)
- 構成可能な出力ハッシュ幅 (デフォルトは 256 断片です)
- 構成可能な鍵導出関数 (
Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm
を参照してください) - ランダムソルトに追加された構成可能なシークレット (デフォルトは空です)
- 導入:
- 4.1
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 static class
Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm
SecretKeyFactory
の作成に使用されるアルゴリズム
コンストラクターのサマリー
コンストラクター コンストラクター 説明 Pbkdf2PasswordEncoder()
追加の秘密値なしで PBKDF2 パスワードエンコーダーを構築します。Pbkdf2PasswordEncoder(java.lang.CharSequence secret)
パスワードハッシュにも含まれる秘密の値を使用して、標準のパスワードエンコーダーを構築します。Pbkdf2PasswordEncoder(java.lang.CharSequence secret, int saltLength)
シークレット値とソルト長を使用して、標準のパスワードエンコーダーを構築します。Pbkdf2PasswordEncoder(java.lang.CharSequence secret, int iterations, int hashWidth)
シークレット値、反復、ハッシュ幅を使用して標準のパスワードエンコーダーを構築します。Pbkdf2PasswordEncoder(java.lang.CharSequence secret, int saltLength, int iterations, int hashWidth)
シークレット値、ソルト長、反復、ハッシュ幅を使用して標準のパスワードエンコーダーを構築します。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 java.lang.String
encode(java.lang.CharSequence rawPassword)
生のパスワードをエンコードします。boolean
matches(java.lang.CharSequence rawPassword, java.lang.String encodedPassword)
ストレージから取得したエンコードされたパスワードが、エンコードされた後に送信された生のパスワードと一致することを確認します。void
setAlgorithm(Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm secretKeyFactoryAlgorithm)
使用するアルゴリズムを設定します。void
setEncodeHashAsBase64(boolean encodeHashAsBase64)
結果のハッシュを Base64 としてエンコードするかどうかを設定します。クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
インターフェース org.springframework.security.crypto.password.PasswordEncoder から継承されたメソッド
upgradeEncoding
コンストラクターの詳細
Pbkdf2PasswordEncoder
public Pbkdf2PasswordEncoder()
Pbkdf2PasswordEncoder
public Pbkdf2PasswordEncoder(java.lang.CharSequence secret)
- パラメーター:
secret
- エンコーディングプロセスで使用される秘密鍵 (共有すべきではない)
Pbkdf2PasswordEncoder
public Pbkdf2PasswordEncoder(java.lang.CharSequence secret, int saltLength)
- パラメーター:
secret
- 秘密saltLength
- ソルトの長さ (バイト単位)- 導入:
- 5.5
Pbkdf2PasswordEncoder
public Pbkdf2PasswordEncoder(java.lang.CharSequence secret, int iterations, int hashWidth)
シークレット値、反復、ハッシュ幅を使用して標準のパスワードエンコーダーを構築します。ソルトの長さは 8 バイトになります。- パラメーター:
secret
- 秘密iterations
- 反復回数。ユーザーは自分のシステムで約 0.5 秒かかることを目指す必要があります。hashWidth
- ハッシュのサイズ (ビット単位)
Pbkdf2PasswordEncoder
public Pbkdf2PasswordEncoder(java.lang.CharSequence secret, int saltLength, int iterations, int hashWidth)
シークレット値、ソルト長、反復、ハッシュ幅を使用して標準のパスワードエンコーダーを構築します。- パラメーター:
secret
- 秘密saltLength
- ソルトの長さ (バイト単位)iterations
- 反復回数。ユーザーは自分のシステムで約 0.5 秒かかることを目指す必要があります。hashWidth
- ハッシュのサイズ (ビット単位)- 導入:
- 5.5
メソッドの詳細
setAlgorithm
public void setAlgorithm(Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm secretKeyFactoryAlgorithm)
使用するアルゴリズムを設定します。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
public java.lang.String encode(java.lang.CharSequence rawPassword)
インターフェースからコピーされた説明:PasswordEncoder
生のパスワードをエンコードします。一般に、適切なエンコードアルゴリズムは、8 バイト以上のランダムに生成されたソルトと組み合わせた SHA-1 以上のハッシュを適用します。- 次で指定:
- インターフェース
PasswordEncoder
のencode
matches
public boolean matches(java.lang.CharSequence rawPassword, java.lang.String encodedPassword)
インターフェースからコピーされた説明:PasswordEncoder
ストレージから取得したエンコードされたパスワードが、エンコードされた後に送信された生のパスワードと一致することを確認します。パスワードが一致する場合は true を返し、一致しない場合は false を返します。保管されたパスワード自体は決してデコードされません。- 次で指定:
- インターフェース
PasswordEncoder
のmatches
- パラメーター:
rawPassword
- エンコードおよび照合する生のパスワードencodedPassword
- 比較するストレージからのエンコードされたパスワード- 戻り値:
- エンコード後の生のパスワードがストレージからのエンコードされたパスワードと一致する場合は true