public String decryptData(String base64Data, String md532Str) throws Exception {
initialize();
BASE64Decoder decoder = new BASE64Decoder();
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding");
SecretKeySpec sKeySpec = new SecretKeySpec(md532Str.getBytes(), "AES");
cipher.init(Cipher.DECRYPT_MODE, sKeySpec);
return new String(cipher.doFinal(decoder.decodeBuffer(base64Data)),"UTF-8");
}
这是微信的退款密文解密方式;没有什么问题,从事开发java人员如果没有修改自己的jdk中的jar包java\jre1.8.0.172\lib\security\policy\unlimited路径中的两个jar不做修改就回有长度不够的问题
原因:AES在JDK正常下载的是有限制的解密位数的
解决:去oracle的javaSE下载对应jce解密jar,下载无敌解密jar包,替换jar中相应jar包