インターフェース PasswordEncoder

すべての既知の実装クラス:
AbstractPasswordEncoderAbstractValidatingPasswordEncoderArgon2Password4jPasswordEncoderArgon2PasswordEncoderBalloonHashingPassword4jPasswordEncoderBcryptPassword4jPasswordEncoderBCryptPasswordEncoderDelegatingPasswordEncoderLdapShaPasswordEncoderMd4PasswordEncoderMessageDigestPasswordEncoderNoOpPasswordEncoderPbkdf2Password4jPasswordEncoderPbkdf2PasswordEncoderScryptPassword4jPasswordEncoderSCryptPasswordEncoderStandardPasswordEncoder

public interface PasswordEncoder
パスワードをエンコードするためのサービスインターフェース。推奨される実装は BCryptPasswordEncoder です。
  • 方法の概要

    修飾子と型
    メソッド
    説明
    @Nullable StringSE
    encode(@Nullable CharSequenceSE rawPassword)
    生のパスワードをエンコードします。
    boolean
    matches(@Nullable CharSequenceSE rawPassword, @Nullable StringSE encodedPassword)
    ストレージから取得したエンコードされたパスワードが、エンコードされた後に送信された生のパスワードと一致することを確認します。
    default boolean
    upgradeEncoding(@Nullable StringSE encodedPassword)
    セキュリティを強化するためにエンコードされたパスワードを再度エンコードする必要がある場合は true を返し、そうでない場合は false を返します。
  • メソッドの詳細

    • encode

      @Nullable StringSE encode(@Nullable CharSequenceSE rawPassword)
      生のパスワードをエンコードします。一般的に、優れたエンコードアルゴリズムは適応型の一方向関数を使用します。
      パラメーター:
      rawPassword - エンコードされていないパスワード。ユーザーがパスワードを持っていない場合、値は null になることがあります。その場合、結果は null になります。
      戻り値:
      非 null エンコードされたパスワード。ただし、rawPassword が null の場合、結果は null になります。
    • matches

      boolean matches(@Nullable CharSequenceSE rawPassword, @Nullable StringSE encodedPassword)
      ストレージから取得したエンコードされたパスワードが、送信された生のパスワードとエンコード後に一致するかどうかを検証します。パスワードが一致する場合は true を、一致しない場合は false を返します。保存されたパスワード自体はデコードされません。rawPassword または encodedPassword のいずれかが null または空の文字列の場合、true は返されません。
      パラメーター:
      rawPassword - エンコードして照合する生のパスワード。
      encodedPassword - 比較するストレージからのエンコードされたパスワード。
      戻り値:
      エンコード後の生のパスワードが、ストレージからエンコードされたパスワードと一致する場合は true になります。
    • upgradeEncoding

      default boolean upgradeEncoding(@Nullable StringSE encodedPassword)
      セキュリティを強化するためにエンコードされたパスワードを再度エンコードする必要がある場合は true を返し、そうでない場合は false を返します。デフォルトの実装は常に false を返します。
      パラメーター:
      encodedPassword - チェックするエンコードされたパスワード。ユーザーがパスワードを持っていない場合は null になる可能性があります。
      戻り値:
      セキュリティ強化のため、エンコードされたパスワードを再度エンコードする必要がある場合は true、そうでない場合は false です。encodedPassword が null(ユーザーがパスワードを持っていない)の場合、常に false となります。