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
Nested ClassesModifier and TypeClassDescriptionstatic final classAES暗号のコンテキスト情報を保持するクラス。 -
Constructor Summary
Constructors -
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 KeygenerateKey(int length) 共通鍵を生成する。protected byte[]共通鍵又はIV(イニシャルバリュー)の文字列からバイト配列を取得する。voidsetBase64Key(Base64Key base64Key) 暗号化に使用する128bitの共通鍵及びIVをBase64エンコードした値を設定する。voidDeprecated.voidDeprecated.本メソッドは共通鍵に文字列しか指定できないため、使用できる値に制限があり脆弱である。このため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:
generateContextin interfaceEncryptor<AesEncryptor.AesContext>- Returns:
- 暗号化と復号に使用するコンテキスト情報
-
encrypt
Description copied from interface:Encryptorコンテキスト情報を使用して暗号化を行う。- Specified by:
encryptin interfaceEncryptor<AesEncryptor.AesContext>- Parameters:
context- コンテキスト情報src- 暗号元- Returns:
- 暗号結果
-
decrypt
Description copied from interface:Encryptorコンテキスト情報を使用して復号を行う。- Specified by:
decryptin 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)を使用すること。