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)を使用すること。