!!!SOS!!!--关于3DES算法的问题!(周一下午结贴)

archoo 2003-06-22 02:18:23
目的:
用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)));
...全文
728 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liusoft 2003-06-24
  • 打赏
  • 举报
回复
DESede -> DES
lj6684 2003-06-24
  • 打赏
  • 举报
回复
我曾经用过 DESede 加密,好像密钥长度至少要为24位,否则无法加解密。
archoo 2003-06-24
  • 打赏
  • 举报
回复
up
RAYLI 2003-06-22
  • 打赏
  • 举报
回复
那不是还是要用24字节的密钥?结果不对呀!试过了!用只用16字节密钥算3DES的吗?
waiting
masterz 2003-06-22
  • 打赏
  • 举报
回复
加密和解密的时候自己在后面加8字节补成24byte

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧