クラス BCryptPasswordEncoder
- java.lang.Object
-
- org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
- 実装されたすべてのインターフェース:
PasswordEncoder
public class BCryptPasswordEncoder extends java.lang.Object implements PasswordEncoder
BCrypt の強力なハッシュ関数を使用する PasswordEncoder の実装。クライアントは、オプションで「バージョン」($2a、$2b、$2y)と「強度」(別名 BCrypt のログラウンド)と SecureRandom インスタンスを提供できます。強度パラメーターが大きいほど、パスワードをハッシュするために(指数関数的に)より多くの作業が必要になります。デフォルト値は 10 です。
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 static class
BCryptPasswordEncoder.BCryptVersion
設定で使用するデフォルトの bcrypt バージョンを保存します。
コンストラクターのサマリー
コンストラクター コンストラクター 説明 BCryptPasswordEncoder()
BCryptPasswordEncoder(int strength)
BCryptPasswordEncoder(int strength, java.security.SecureRandom random)
BCryptPasswordEncoder(BCryptPasswordEncoder.BCryptVersion version)
BCryptPasswordEncoder(BCryptPasswordEncoder.BCryptVersion version, int strength)
BCryptPasswordEncoder(BCryptPasswordEncoder.BCryptVersion version, int strength, java.security.SecureRandom random)
BCryptPasswordEncoder(BCryptPasswordEncoder.BCryptVersion version, java.security.SecureRandom random)
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 java.lang.String
encode(java.lang.CharSequence rawPassword)
生のパスワードをエンコードします。boolean
matches(java.lang.CharSequence rawPassword, java.lang.String encodedPassword)
ストレージから取得したエンコードされたパスワードが、エンコードされた後に送信された生のパスワードと一致することを確認します。boolean
upgradeEncoding(java.lang.String encodedPassword)
セキュリティを強化するためにエンコードされたパスワードを再度エンコードする必要がある場合は true を返し、そうでない場合は false を返します。
コンストラクターの詳細
BCryptPasswordEncoder
public BCryptPasswordEncoder()
BCryptPasswordEncoder
public BCryptPasswordEncoder(int strength)
- パラメーター:
strength
- 使用するログラウンド、4 〜 31
BCryptPasswordEncoder
public BCryptPasswordEncoder(BCryptPasswordEncoder.BCryptVersion version)
- パラメーター:
version
- bcrypt のバージョン、2a、2b、2y
BCryptPasswordEncoder
public BCryptPasswordEncoder(BCryptPasswordEncoder.BCryptVersion version, java.security.SecureRandom random)
- パラメーター:
version
- bcrypt のバージョン、2a、2b、2yrandom
- 使用するセキュアなランダムインスタンス
BCryptPasswordEncoder
public BCryptPasswordEncoder(int strength, java.security.SecureRandom random)
- パラメーター:
strength
- 使用するログラウンド、4 〜 31random
- 使用するセキュアなランダムインスタンス
BCryptPasswordEncoder
public BCryptPasswordEncoder(BCryptPasswordEncoder.BCryptVersion version, int strength)
- パラメーター:
version
- bcrypt のバージョン、2a、2b、2ystrength
- 使用するログラウンド、4 〜 31
BCryptPasswordEncoder
public BCryptPasswordEncoder(BCryptPasswordEncoder.BCryptVersion version, int strength, java.security.SecureRandom random)
- パラメーター:
version
- bcrypt のバージョン、2a、2b、2ystrength
- 使用するログラウンド、4 〜 31random
- 使用するセキュアなランダムインスタンス
メソッドの詳細
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
upgradeEncoding
public boolean upgradeEncoding(java.lang.String encodedPassword)
インターフェースからコピーされた説明:PasswordEncoder
セキュリティを強化するためにエンコードされたパスワードを再度エンコードする必要がある場合は true を返し、そうでない場合は false を返します。デフォルトの実装は常に false を返します。- 次で指定:
- インターフェース
PasswordEncoder
のupgradeEncoding
- パラメーター:
encodedPassword
- チェックするエンコードされたパスワード- 戻り値:
- セキュリティを強化するためにエンコードされたパスワードを再度エンコードする必要がある場合は true、そうでない場合は false。