今天碰到一个很窝火的问题
使用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)
略
各大网站搜索折腾好久,依旧无果
最后发现……原来是因为公钥写错了,导致解密失败,翻白中……
但是这个错误有很大的误导……发在这里,期望各位在苦海中的亲能解脱早日超生……
使用java进行加密
代码如下:
Security.addProvider(new com.sun.crypto.provider.SunJCE());
结果怎么都是报如下错
javax.crypto.BadPaddingException: pad block corrupted
各大网站搜索折腾好久,依旧无果
最后发现……原来是因为公钥写错了,导致解密失败,翻白中……
但是这个错误有很大的误导……发在这里,期望各位在苦海中的亲能解脱早日超生……