クラス BCryptPasswordEncoder

  • 実装されたすべてのインターフェース:
    PasswordEncoder

    public class BCryptPasswordEncoder
    extends java.lang.Object
    implements PasswordEncoder
    BCrypt の強力なハッシュ関数を使用する PasswordEncoder の実装。クライアントは、オプションで「バージョン」($2a、$2b、$2y)と「強度」(別名 BCrypt のログラウンド)と SecureRandom インスタンスを提供できます。強度パラメーターが大きいほど、パスワードをハッシュするために(指数関数的に)より多くの作業が必要になります。デフォルト値は 10 です。
    • コンストラクターの詳細

      • BCryptPasswordEncoder

        public BCryptPasswordEncoder()
      • BCryptPasswordEncoder

        public BCryptPasswordEncoder​(int strength)
        パラメーター:
        strength - 使用するログラウンド、4 〜 31
      • BCryptPasswordEncoder

        public BCryptPasswordEncoder​(BCryptPasswordEncoder.BCryptVersion version,
                                     java.security.SecureRandom random)
        パラメーター:
        version - bcrypt のバージョン、2a、2b、2y
        random - 使用するセキュアなランダムインスタンス
      • BCryptPasswordEncoder

        public BCryptPasswordEncoder​(int strength,
                                     java.security.SecureRandom random)
        パラメーター:
        strength - 使用するログラウンド、4 〜 31
        random - 使用するセキュアなランダムインスタンス
      • BCryptPasswordEncoder

        public BCryptPasswordEncoder​(BCryptPasswordEncoder.BCryptVersion version,
                                     int strength)
        パラメーター:
        version - bcrypt のバージョン、2a、2b、2y
        strength - 使用するログラウンド、4 〜 31
      • BCryptPasswordEncoder

        public BCryptPasswordEncoder​(BCryptPasswordEncoder.BCryptVersion version,
                                     int strength,
                                     java.security.SecureRandom random)
        パラメーター:
        version - bcrypt のバージョン、2a、2b、2y
        strength - 使用するログラウンド、4 〜 31
        random - 使用するセキュアなランダムインスタンス
    • メソッドの詳細

      • encode

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

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

        public boolean upgradeEncoding​(java.lang.String encodedPassword)
        インターフェースからコピーされた説明: PasswordEncoder
        セキュリティを強化するためにエンコードされたパスワードを再度エンコードする必要がある場合は true を返し、そうでない場合は false を返します。デフォルトの実装は常に false を返します。
        次で指定:
        インターフェース PasswordEncoderupgradeEncoding 
        パラメーター:
        encodedPassword - チェックするエンコードされたパスワード
        戻り値:
        セキュリティを強化するためにエンコードされたパスワードを再度エンコードする必要がある場合は true、そうでない場合は false。