`
ilovejsj
  • 浏览: 203131 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

javax.crypto.BadPaddingException: Given final block not properly padded

    博客分类:
  • java
阅读更多
Exception in thread "main" javax.crypto.BadPaddingException: Given final block not properly padded
我是在对CipherOutputStream cos=new CipherOutputStream(fos,cipher);
输出流加密后的密文进行解密的时候出现的(输入流就没有出现这个问题),网上查大多多是说是编码有问题,我按网上的方法试了试还是不行。
不过后来我误打误撞竟然解决了,说说咋解决的,不要问我为什么,因为这是巧合,汗~~~
其实很简单就是在加密输出流后加上
cos.flush();
cos.close();
关键是close方法,搞定了。我想应该是有些字节在缓冲里面没有写出去,但是flush不是已经刷新此输出流并强制写出所有缓冲的输出字节了吗?
分享到:
评论
2 楼 aqingtian005 2014-04-24  
按理说 close 会 执行flush的啊
1 楼 aqingtian005 2014-04-24  
谢谢LZ了,帮我解决一个大问题啊

我是没有  flush() 直接close()了  然后就出现解密不了的情况

相关推荐

Global site tag (gtag.js) - Google Analytics