!!!SOS!!!--关于3DES算法的问题!(周一下午结贴)
目的:
用16字节(而不是3DES默认的24bytes)的KEY运用3DES进行加密;
问题:
用以下代码产生如下Exception,难道3DES非要用24bytes的KEY吗
java.security.spec.InvalidKeySpecException: Inappropriate key specification
Project工期在即,希望各位大虾帮忙!如果能解决问题,另赠200分!
部分相关源码:
byte[] source_key = new byte[16];
// source_key 初始化略...
SecretKeySpec des_keySpec = new SecretKeySpec(source_key,"DESede");
SecretKeyFactory skf = SecretKeyFactory.getInstance("DESede");
SecretKey secKey = skf.generateSecret((DESedeKeySpec)des_keySpec);
Cipher cipher = Cipher.getInstance("DESede");
cipher.init(Cipher.ENCRYPT_MODE,secKey);
byte[] data = "1234 ".getBytes();
System.out.println(Integer.toHexString(cipher.getOutputSize(data.length)));