作者superlubu (叔叔你人真好)
看板java
标题Re: [问题] AES加解密
时间Sun Jun 22 06:38:47 2008
※ 引述《yorjing (问题儿童)》之铭言:
: a.java
: http://dpaste.com/57980/
: b.java
: http://dpaste.com/57981/
: client side(b.java) exception
: http://dpaste.com/57982/
: 错误在b.java的
: aesKey=SecretKeyFactory.getInstance("AES").generateSecret(s);
: 可以请问大大这样的错误要怎麽修正吗?
: 小弟看api写的
: 不知道错在哪里?
1. To solve NoSuchAlgorithmException, try this:
SecretKeySpec s=new SecretKeySpec(buffer,"AES");
Cipher aesDeCipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
aesDeCipher.init(Cipher.DECRYPT_MODE, ss);
No Factory needed again in this case.
2. 就算你改好了这个问题後,我猜结果还是会跑出别的 Exception
因为你没有好好学过 stream input/output ...
InputStream.read(buffer) 是没法保证一次就能读完 buffer.length 的东西的
而且你还定了 buffer length = 1024,你也没法保证 key encodebyte 的长度
一定是 1024
解决方法: 先重新去学一次 input/output stream.
--
《为了要得到真相,就要向原 PO 伸图》
那就是伸图魔人的没图没真相原则,那时我们坚信那就是逼逼死的真实
靠么,图咧?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.218.38.49
※ 编辑: superlubu 来自: 203.218.38.49 (06/22 07:46)
1F:推 yorjing:如果不宣告buffer大小 就不能只用InputStream了... 06/22 07:58
2F:→ superlubu:所以我说... 你得重新学一次 I/O Stream 的概念与用法 06/22 08:18
3F:推 yorjing:谢谢大大帮忙 虽然还是不知道怎使用ByteArrayInputStream 06/22 09:23
4F:→ yorjing:但我已用Object I/O传aesKey做到了 Object I/O不太好用... 06/22 09:25
5F:推 yorjing:要控制out in out很麻烦... 06/22 09:27
6F:推 H45:I/O 本来就很麻烦,但没有 Streamer 与其衍生的装饰者会更麻烦 06/22 09:32
7F:推 Lordaeron:习惯问题吧了,不然java没出来前,其它language都是死的? 06/22 10:07