JavaでAES暗号化サンプル

「JavaでAES暗号化サンプル」の編集履歴(バックアップ)一覧はこちら

JavaでAES暗号化サンプル」(2014/07/22 (火) 17:05:46) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

AES暗号化して、Base64で文字列化する場合の話 *キー public static final String ENCRYPT_KEY = "1234567890123456"; public static final String ENCRYPT_IV = "abcdefghijklmnop"; *暗号 /** * 暗号化メソッド * * @param text 暗号化する文字列 * @return 暗号化文字列 */ public static String encrypt(String text) { // 変数初期化 String strResult = null; try { // 文字列をバイト配列へ変換 byte[] byteText = text.getBytes("UTF-8"); // 暗号化キーと初期化ベクトルをバイト配列へ変換 byte[] byteKey = ENCRYPT_KEY.getBytes("UTF-8"); byte[] byteIv = ENCRYPT_IV.getBytes("UTF-8"); // 暗号化キーと初期化ベクトルのオブジェクト生成 SecretKeySpec key = new SecretKeySpec(byteKey, "AES"); IvParameterSpec iv = new IvParameterSpec(byteIv); // Cipherオブジェクト生成 Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding"); // Cipherオブジェクトの初期化 cipher.init(Cipher.ENCRYPT_MODE, key, iv); // 暗号化の結果格納 byte[] byteResult = cipher.doFinal(byteText); // Base64へエンコード strResult = Base64.encodeBase64String(byteResult); } catch (Exception e) { e.printStackTrace(); } // 暗号化文字列を返却 return strResult; } *復号 /** * 復号化メソッド * * @param text 復号化する文字列 * @return 復号化文字列 */ public static String decrypt(String text) { // 変数初期化 String strResult = null; try { // Base64をデコード byte[] byteText = Base64.decodeBase64(text); // 暗号化キーと初期化ベクトルをバイト配列へ変換 byte[] byteKey = ENCRYPT_KEY.getBytes("UTF-8"); byte[] byteIv = ENCRYPT_IV.getBytes("UTF-8"); // 復号化キーと初期化ベクトルのオブジェクト生成 SecretKeySpec key = new SecretKeySpec(byteKey, "AES"); IvParameterSpec iv = new IvParameterSpec(byteIv); // Cipherオブジェクト生成 Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); // Cipherオブジェクトの初期化 cipher.init(Cipher.DECRYPT_MODE, key, iv); // 復号化の結果格納 byte[] byteResult = cipher.doFinal(byteText); // バイト配列を文字列へ変換 strResult = new String(byteResult, "UTF-8"); } catch (Exception e) { e.printStackTrace(); } // 復号化文字列を返却 return strResult; }

表示オプション

横に並べて表示:
変化行の前後のみ表示: