Package nablarch.common.encryption
Class AesEncryptor
java.lang.Object
nablarch.common.encryption.AesEncryptor
- All Implemented Interfaces:
Encryptor<AesEncryptor.AesContext>
AES暗号(128bit, CBC, PKCS5Padding)を使用して暗号化と復号を行うクラス。
- Author:
- Kiyohito Itoh
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
AES暗号のコンテキスト情報を保持するクラス。 -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbyte[]
decrypt
(AesEncryptor.AesContext context, byte[] src) コンテキスト情報を使用して復号を行う。byte[]
encrypt
(AesEncryptor.AesContext context, byte[] src) コンテキスト情報を使用して暗号化を行う。暗号化と復号に使用するコンテキスト情報を生成する。
コンテキスト情報には、共通鍵暗号方式であれば使用する共通鍵を保持する。protected byte[]
generateIv
(int length) IV(イニシャルバリュー)を生成する。protected Key
generateKey
(int length) 共通鍵を生成する。protected byte[]
共通鍵又はIV(イニシャルバリュー)の文字列からバイト配列を取得する。void
setBase64Key
(Base64Key base64Key) 暗号化に使用する128bitの共通鍵及びIVをBase64エンコードした値を設定する。void
Deprecated.void
Deprecated.本メソッドは共通鍵に文字列しか指定できないため、使用できる値に制限があり脆弱である。このためsetBase64Key(Base64Key)
を使用すること。
-
Constructor Details
-
AesEncryptor
public AesEncryptor()
-
-
Method Details
-
setKey
Deprecated.本メソッドは共通鍵に文字列しか指定できないため、使用できる値に制限があり脆弱である。このためsetBase64Key(Base64Key)
を使用すること。暗号化に使用する共通鍵(128bit)を設定する。- Parameters:
key
- 暗号化に使用する共通鍵(128bit)
-
setBase64Key
暗号化に使用する128bitの共通鍵及びIVをBase64エンコードした値を設定する。- Parameters:
base64Key
- 暗号化に使用する鍵
-
setIv
Deprecated.本メソッドはIVに文字列しか指定できないため、使用できる値に制限があり脆弱である。このためsetBase64Key(Base64Key)
を使用すること。暗号化に使用するIV(イニシャルバリュー)(128bit)を設定する。- Parameters:
iv
- 暗号化に使用するIV(イニシャルバリュー)(128bit)
-
generateContext
暗号化と復号に使用するコンテキスト情報を生成する。
コンテキスト情報には、共通鍵暗号方式であれば使用する共通鍵を保持する。
共通鍵とIV(イニシャルバリュー)を生成し、コンテキスト情報として返す。 共通鍵は、以下の優先順位で使用する値を決定する。base64key
プロパティのが設定されている場合はその値key
プロパティのが設定されている場合はその値- 乱数ジェネレータによる自動生成
base64key
プロパティのが設定されている場合はその値iv
プロパティのが設定されている場合はその値- 乱数ジェネレータにより自動生成する
- Specified by:
generateContext
in interfaceEncryptor<AesEncryptor.AesContext>
- Returns:
- 暗号化と復号に使用するコンテキスト情報
-
encrypt
Description copied from interface:Encryptor
コンテキスト情報を使用して暗号化を行う。- Specified by:
encrypt
in interfaceEncryptor<AesEncryptor.AesContext>
- Parameters:
context
- コンテキスト情報src
- 暗号元- Returns:
- 暗号結果
-
decrypt
Description copied from interface:Encryptor
コンテキスト情報を使用して復号を行う。- Specified by:
decrypt
in interfaceEncryptor<AesEncryptor.AesContext>
- Parameters:
context
- コンテキスト情報src
- 復号元- Returns:
- 復号結果
-
getBytes
共通鍵又はIV(イニシャルバリュー)の文字列からバイト配列を取得する。 デフォルト実装では"UTF-8"で符号化する。- Parameters:
text
- 共通鍵又はIV(イニシャルバリュー)の文字列- Returns:
- バイト配列
-
generateKey
共通鍵を生成する。- Parameters:
length
- 鍵長(bit)- Returns:
- 共通鍵
-
generateIv
protected byte[] generateIv(int length) IV(イニシャルバリュー)を生成する。- Parameters:
length
- 鍵長(bit)- Returns:
- IV(イニシャルバリュー)
-
setBase64Key(Base64Key)
を使用すること。