2014年11月08日

16. 共通鍵暗号方式による暗号化処理について

共通鍵暗号方式による暗号化を行う場合、

例)
private Cipher cipher4encrypt = null;
private Cipher cipher4decrypt = null;

public void init() throws Exception {

    SecretKeySpec key = new SecretKeySpec(new byte[] { .. }, "AES");
    IvParameterSpec iv = new IvParameterSpec(new byte[] { .. });

    this.cipher4encrypt = Cipher.getInstance("AES/CBC/PKCS5Padding");
    this.cipher4encrypt.init(Cipher.ENCRYPT_MODE, key, iv);
    this.cipher4decrypt = Cipher.getInstance("AES/CBC/PKCS5Padding");
    this.cipher4decrypt.init(Cipher.DECRYPT_MODE, key, iv);
}

コンパイルした classファイル をテキストエディタ、バイナリエディタで開くと"AES/CBC/PKCS5Padding"のように暗号方式が丸見えになるため、特に classファイル もしくは classファイルを内包したjarファイル を公開する場合は、上記の文字列(暗号方式)を文字列置換などにより生成する(+classファイルを難読化する)こと。

この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック