クラス Pbkdf2PasswordEncoder

java.lang.ObjectSE
org.springframework.security.crypto.password.Pbkdf2PasswordEncoder
実装されたすべてのインターフェース:
PasswordEncoder

public class Pbkdf2PasswordEncoder extends ObjectSE implements PasswordEncoder
PBKDF2 を使用する PasswordEncoder 実装:
  • 構成可能なランダムソルト値の長さ (デフォルトは 16 バイトです)
  • 構成可能な反復回数 (デフォルトは 310000 です)
  • 構成可能な鍵導出関数 (Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm を参照してください)
  • ランダムソルトに追加された構成可能なシークレット (デフォルトは空です)
このアルゴリズムは、ソルト、シークレット、パスワードの連結されたバイトに対して呼び出されます。
導入:
4.1
  • コンストラクターの詳細

    • 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

      @DeprecatedSE public static Pbkdf2PasswordEncoder defaultsForSpringSecurity_v5_5()
      使用すべきではありません。
      代わりに defaultsForSpringSecurity_v5_8() を使用してください
      シークレット値を追加せずに PBKDF2 パスワードエンコーダーを構築します。8 バイトのソルト長、185,000 反復、SHA-1 アルゴリズム、および 256 ビットのハッシュ長があります。デフォルトは、このクラスが追加されたときにパスワードを検証するために 0.5 秒をゴールとすることに基づいています。ユーザーは、パスワード検証を自分のシステムに合わせて調整する必要があります。
      戻り値:
      Pbkdf2PasswordEncoder
      導入:
      5.8
    • defaultsForSpringSecurity_v5_8

      public static Pbkdf2PasswordEncoder defaultsForSpringSecurity_v5_8()
      シークレット値を追加せずに PBKDF2 パスワードエンコーダーを構築します。16 バイトのソルト長、310,000 反復、SHA-256 アルゴリズム、および 256 ビットのハッシュ長があります。デフォルトは、このクラスが追加されたときにパスワードを検証するために 0.5 秒をゴールとすることに基づいています。ユーザーは、パスワード検証を自分のシステムに合わせて調整する必要があります。
      戻り値:
      Pbkdf2PasswordEncoder
      導入:
      5.8
    • setAlgorithm

      public void setAlgorithm(Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm secretKeyFactoryAlgorithm)
      使用するアルゴリズムを設定します。SecretKeyFactory アルゴリズムSEを参照
      パラメーター:
      secretKeyFactoryAlgorithm - 使用するアルゴリズム (つまり、SecretKeyFactoryAlgorithm.PBKDF2WithHmacSHA1SecretKeyFactoryAlgorithm.PBKDF2WithHmacSHA256SecretKeyFactoryAlgorithm.PBKDF2WithHmacSHA512)
      導入:
      5.0
    • setEncodeHashAsBase64

      public void setEncodeHashAsBase64(boolean encodeHashAsBase64)
      結果のハッシュを Base64 としてエンコードするかどうかを設定します。デフォルトは false で、16 進数でエンコードされます。
      パラメーター:
      encodeHashAsBase64 - Base64 としてエンコードする場合は true、16 進数を使用する場合は false (default)
    • encode

      public StringSE encode(CharSequenceSE rawPassword)
      インターフェースからコピーされた説明: PasswordEncoder
      生のパスワードをエンコードします。一般に、適切なエンコードアルゴリズムは、8 バイト以上のランダムに生成されたソルトと組み合わせた SHA-1 以上のハッシュを適用します。
      次で指定:
      インターフェース PasswordEncoderencode 
    • matches

      public boolean matches(CharSequenceSE rawPassword, StringSE encodedPassword)
      インターフェースからコピーされた説明: PasswordEncoder
      ストレージから取得したエンコードされたパスワードが、エンコードされた後に送信された生のパスワードと一致することを確認します。パスワードが一致する場合は true を返し、一致しない場合は false を返します。保管されたパスワード自体は決してデコードされません。
      次で指定:
      インターフェース PasswordEncodermatches 
      パラメーター:
      rawPassword - エンコードおよび照合する生のパスワード
      encodedPassword - 比較するストレージからのエンコードされたパスワード
      戻り値:
      エンコード後の生のパスワードがストレージからのエンコードされたパスワードと一致する場合は true