javax.cryptoによる暗号化

仕事で簡単な暗号化をする必要があって、javax.cryptoを使ったのでメモ。
J2SE 1.4から標準で組み込まれた機能で、共有鍵や公開鍵方式が使えます。DES,3DES,Blowfish,AESなどが統一的なインターフェースで使えて便利。下はDESを使って暗号→復号化するサンプル。今回は速度優先ということでBlowfishを使いました。
 import javax.crypto.*;

 public class DES{
     public static void main(String[] argv){
         try{
             KeyGenerator kg = KeyGenerator.getInstance("DES");
             SecretKey sk = kg.generateKey();
             byte[] m = "Hello Des World".getBytes();

             Cipher ch = Cipher.getInstance("DES/ECB/PKCS5Padding");
             ch.init(Cipher.ENCRYPT_MODE, sk);
             byte[] c = ch.doFinal(m);
             System.out.println(new String(c));

             ch.init(Cipher.DECRYPT_MODE, sk);
             byte[] m2 = ch.doFinal(c);
             System.out.println(new String(m2));

         }catch(Exception e){
             System.out.println(e);
         }
     }
 }
関連リンク:
javax.crypto
Java 暗号化拡張機能リファレンスガイド



Leave a comment


:

:

:

:

このエントリーのはてなブックマーク (-)