DESを使用した暗号化/復号化処理について
現在下記仕様でパラメータの暗号化複合化処理を作成していますが例外が発生して困っています。
方式:DES
モード:CBC
パディング:PKCS5Padding
秘密鍵:kagi1234
BASE64でエンコードしてString変換
【例外内容】
Exception in thread "main" java.lang.RuntimeException: java.security.InvalidKeyException: Parameters missing
at enc.Main01.decrypt(Main01.java:114)
【ソースコード】
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Encoder;
public class Main01 {
public static void main(String[] args) {
try {
String val1 = encrypt("10000", "key12345");
System.out.println(decrypt(val1, "key12345"));
} catch (Exception e) {
e.printStackTrace();
}
}
public static String encrypt(String text, String secretKey) throws Exception {
SecretKeySpec sks = new SecretKeySpec(secretKey.getBytes(), "DES");
Cipher cp = Cipher.getInstance("DES/CBC/PKCS5Padding");
cp.init(Cipher.ENCRYPT_MODE, sks);
return new BASE64Encoder().encodeBuffer(cp.doFinal(text.getBytes()));
}
public static String decrypt(String decValue, String secretKey) throws Exception {
SecretKeySpec sks = new SecretKeySpec(secretKey.getBytes(), "DES");
byte[] decArr = new sun.misc.BASE64Decoder().decodeBuffer(decValue);
Cipher cp = Cipher.getInstance("DES/CBC/PKCS5Padding");
cp.init(Cipher.DECRYPT_MODE, sks);
return new String(cp.doFinal(decArr));
}
}
対処方法がも解らず自力解決は困難です。
お手数ですが解決方法を御教授願えないでしょうか?
よろしくお願いします。
環境(WidowsXP SP2, JDK1.5.0_07-b03)
お礼
ご回答ありがとうござました。やはり素直に諦めるしかないようですねw次回からは十分気をつけるようにしようと思います