加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

java  解密碰到的误导人的错误提示 pad block corrupted

(2012-08-24 19:00:45)
标签:

pad

block

corrupted

java

解密

加密

it

分类: 经典技巧
今天碰到一个很窝火的问题
使用java进行加密

代码如下:

Security.addProvider(new com.sun.crypto.provider.SunJCE());
                        Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());// 添加PKCS7Padding支持
                        Cipher cipher = Cipher.getInstance("DESede/ECB/PKCS7Padding", "BC");
                        Key key = CipherManager.getKey(sig.getBytes("GBK"));
                        cipher.init(Cipher.DECRYPT_MODE, key);
                        byte[] decBytes = cipher.doFinal(CipherManager.str2ByteArr(encStr));

结果怎么都是报如下错
javax.crypto.BadPaddingException: pad block corrupted
    at org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineDoFinal(Unknown Source)
    at javax.crypto.Cipher.doFinal(Cipher.java:2086)
   

各大网站搜索折腾好久,依旧无果
最后发现……原来是因为公钥写错了,导致解密失败,翻白中……
但是这个错误有很大的误导……发在这里,期望各位在苦海中的亲能解脱早日超生……


0

阅读 收藏 喜欢 打印举报/Report
前一篇:phalcon php简介
后一篇:innodb索引区别
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有