クラス Encryptors
- java.lang.Object
-
- org.springframework.security.crypto.encrypt.Encryptors
public final class Encryptors extends java.lang.Object
一般的に使用される暗号化装置のファクトリ。BytesEncryptor
およびTextEncryptor
実装を構築するためのパブリック API を定義します。
メソッドのサマリー
すべてのメソッド 静的メソッド 具象メソッド 非推奨のメソッド 修飾子と型 メソッド 説明 static TextEncryptor
delux(java.lang.CharSequence password, java.lang.CharSequence salt)
「より強力な」パスワードベースの暗号化を使用するテキスト暗号化を作成します。static TextEncryptor
noOpText()
暗号化を実行しないテキスト暗号化を作成します。static TextEncryptor
queryableText(java.lang.CharSequence password, java.lang.CharSequence salt)
使用すべきではありません。この暗号化は安全ではありません。static BytesEncryptor
standard(java.lang.CharSequence password, java.lang.CharSequence salt)
256 ビット AES 暗号化を使用して、標準のパスワードベースのバイト暗号化プログラムを作成します。static BytesEncryptor
stronger(java.lang.CharSequence password, java.lang.CharSequence salt)
ガロアカウンターモード(GCM)で 256 ビット AES 暗号化を使用して、標準のパスワードベースのバイト暗号化プログラムを作成します。static TextEncryptor
text(java.lang.CharSequence password, java.lang.CharSequence salt)
「標準の」パスワードベースの暗号化を使用するテキスト暗号化を作成します。
メソッドの詳細
stronger
public static BytesEncryptor stronger(java.lang.CharSequence password, java.lang.CharSequence salt)
ガロアカウンターモード(GCM)で 256 ビットの AES 暗号化を使用して、標準のパスワードベースのバイト暗号化を作成します。PKCS#5 の PBKDF2(パスワードベースの鍵導出関数 #2)を使用して秘密鍵を導出します。キーに対する辞書攻撃を防ぐためにパスワードをソルトします。提供されるソルトは 16 進数でエンコードされることが期待されています。ランダムで、長さが 8 バイト以上である必要があります。また、ランダムな 16 バイトの初期化ベクトルを適用して、暗号化された各メッセージが一意になるようにします。Java 6 が必要です。- パラメーター:
password
- 暗号化装置の秘密鍵の生成に使用されるパスワード。共有すべきではないsalt
- キーを生成するために使用する、16 進数でエンコードされたランダムなサイトグローバルソルト値
standard
public static BytesEncryptor standard(java.lang.CharSequence password, java.lang.CharSequence salt)
256 ビットの AES 暗号化を使用して、標準のパスワードベースのバイト暗号化機能を作成します。PKCS#5 の PBKDF2(パスワードベースの鍵導出関数 #2)を使用して秘密鍵を導出します。キーに対する辞書攻撃を防ぐためにパスワードをソルトします。提供されるソルトは 16 進数でエンコードされることが期待されています。ランダムで、長さが 8 バイト以上である必要があります。また、ランダムな 16 バイトの初期化ベクトルを適用して、暗号化された各メッセージが一意になるようにします。Java 6 が必要です。注: このモードは認証されておらず、データの信頼性については保証されません。より安全な代替策として、ユーザーはstronger(CharSequence, CharSequence)
を優先する必要があります。- パラメーター:
password
- 暗号化装置の秘密鍵の生成に使用されるパスワード。共有すべきではないsalt
- キーを生成するために使用する、16 進数でエンコードされたランダムなサイトグローバルソルト値- 関連事項:
stronger(CharSequence, CharSequence)
delux
public static TextEncryptor delux(java.lang.CharSequence password, java.lang.CharSequence salt)
「より強力な」パスワードベースの暗号化を使用するテキスト暗号化を作成します。暗号化されたテキストは 16 進数でエンコードされます。- パラメーター:
password
- 暗号化装置の秘密鍵の生成に使用されるパスワード。共有すべきではない- 関連事項:
stronger(CharSequence, CharSequence)
text
public static TextEncryptor text(java.lang.CharSequence password, java.lang.CharSequence salt)
「標準の」パスワードベースの暗号化を使用するテキスト暗号化を作成します。暗号化されたテキストは 16 進数でエンコードされます。- パラメーター:
password
- 暗号化装置の秘密鍵の生成に使用されるパスワード。共有すべきではない- 関連事項:
standard(CharSequence, CharSequence)
queryableText
@Deprecated public static TextEncryptor queryableText(java.lang.CharSequence password, java.lang.CharSequence salt)
使用すべきではありません。この暗号化は安全ではありません。代わりに、暗号化されたデータをクエリするメカニズムについてデータストアを確認してください。標準のパスワードベースの暗号化を使用するクエリ可能なテキスト文字列の暗号化を作成します。16 バイトのすべてゼロの初期化ベクトルを使用して、同じデータを暗号化すると同じ暗号化結果が得られるようにします。これは、暗号化されたデータを照会できるようにするために行われます。暗号化されたテキストは 16 進数でエンコードされます。- パラメーター:
password
- 暗号化装置の秘密鍵の生成に使用されるパスワード。共有すべきではないsalt
- 秘密鍵の生成に使用する、16 進数でエンコードされたランダムなサイトグローバルソルト値
noOpText
public static TextEncryptor noOpText()
暗号化を実行しないテキスト暗号化を作成します。簡単にするためにプレーンテキスト文字列を使用することが望ましい開発者テスト環境に役立ちます。