CipherSample 暗号化処理

暗号化処理
import java.security.AlgorithmParameters;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESedeKeySpec;
import javax.crypto.spec.IvParameterSpec;
import org.apache.commons.codec.binary.Hex;

public class CipherSample{
   static String FORMATION = "DESede/CBC/PKCS5Padding";
   static String MY_KEY="123456789012345678901234";  // 24 charcter
   public static void main(String args) throws Exception{
      String str = "abcdあいう123";

      String
 es,es2;
      
      SecretKeyFactory keyFac = SecretKeyFactory.getInstance("DESede");
      DESedeKeySpec keySpec = new DESedeKeySpec(MY_KEY.getBytes());
      SecretKey secKey = keyFac.generateSecret(keySpec);
      Cipher encoder = Cipher.getInstance(FORMATION);
      encoder.init(Cipher.ENCRYPT_MODE,secKey);
      byte tb = encoder.doFinal(str.getBytes());
      byte
 iv = encoder.getIV();
      IvParameterSpec ivSpec = new IvParameterSpec(iv);

      String estr  = new String(Hex.encodeHex(tb));
      System.out.println("estr = "+estr);
      
      Cipher decoder = Cipher.getInstance(FORMATION);
      decoder.init(Cipher.DECRYPT_MODE,secKey,ivSpec);
      String fk =  new String(decoder.doFinal(Hex.decodeHex(estr.toCharArray())));
      
      System.out.println(fk);
   }
}