Java里面jvr_微信小程序java解密报异常Key length not 128/192/256 bits
异常
org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$InvalidKeyOrParametersException: Key length not 128/192/256 bits.
at org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineInit(Unknown Source)
at javax.crypto.Cipher.implInit(Cipher.java:806)
at javax.crypto.Cipher.chooseProvider(Cipher.java:864)
at javax.crypto.Cipher.init(Cipher.java:1396)
at javax.crypto.Cipher.init(Cipher.java:1327)
at com.cust.wechat.utils.AesCbcUtil.decrypt(AesCbcUtil.java:62)
at com.cust.wechat.utils.AesCbcUtil.main(AesCbcUtil.java:117)
代码
public static void main(String[] args) throws Exception
{
//这个会报异常
String sessionKey = "o-kJW4_3AVXz5s96JgUkcBE4M3LA";
String encryptedData = "JDIIqASgtHXbNkolc7j0cV4f3bakhZMj/Z2gbxJtCCFmzJmbZeUXKujEb4DEAhfrHH90qhVMpKTB+SAAjdicjT7waWtgexWfipIgZS2FREJvMmdNsp/ahhtn68joAhZze458X0YFQ4i01/Y5UFr1XktllN7C+LSb5zVqOzPGG20zER5TtB1XaZig1PmOF4CqO3A7ZV7nUnr0itIDhSXPZhQqJCNwd93EKyi7lVnCBSOF6Fqb3Wp6na3KrKP1lON1UV5g8DDZRJFOpsvVMMP6KNdy8Sf5DTn9PE7+XcZ2yVwiIPBihsA0iPMlv3jhOnzhuEtz7M4+02f0V1MNS31kZuvQb0NnwGGwRb8JrlTF1c70InLMUvgRG66gFE7otx7v/aHvrv02MitbjgL5Lg76O8Og6Tm1/gFkQaPoz4F1AQ+SNTnjgRYSFHwT2AQXusG2hJ678r8+kcUTR1tPRSrc+zBxNoEA3SPNgDZEFE557FI=";
String iv = "dqNtltSAZGV9Q+O9Hh8mLg==";
//这个不会报异常
String sessionKey1 = "tiihtNczf5v6AKRyjwEUhQ==";
String encryptedData1 = "CiyLU1Aw2KjvrjMdj8YKliAjtP4gsMZMQmRzooG2xrDcvSnxIMXFufNstNGTyaGS9uT5geRa0W4oTOb1WT7fJlAC+oNPdbB+3hVbJSRgv+4lGOETKUQz6OYStslQ142dNCuabNPGBzlooOmB231qMM85d2/fV6ChevvXvQP8Hkue1poOFtnEtpyxVLW1zAo6/1Xx1COxFvrc2d7UL/lmHInNlxuacJXwu0fjpXfz/YqYzBIBzD6WUfTIF9GRHpOn/Hz7saL8xz+W//FRAUid1OksQaQx4CMs8LOddcQhULW4ucetDf96JcR3g0gfRK4PC7E/r7Z6xNrXd2UIeorGj5Ef7b1pJAYB6Y5anaHqZ9J6nKEBvB4DnNLIVWSgARns/8wR2SiRS7MNACwTyrGvt9ts8p12PKFdlqYTopNHR1Vf7XjfhQlVsAJdNiKdYmYVoKlaRv85IfVunYzO0IKXsyl7JCUjCpoG20f0a04COwfneQAGGwd5oa+T8yO5hzuyDb/XcxxmK01EpqOyuxINew==";
String iv1 = "r7BXXKkLb8qrSNn05n0qiA==";
System.out.println(AesCbcUtil.decrypt(encryptedData1, sessionKey1, iv1, "UTF-8"));
}
public static String decrypt(String data, String key, String iv, String encodingFormat) throws Exception
{
//initialize();
//被加密的数据
byte[] dataByte = Base64.decodeBase64(data);
//加密秘钥
byte[] keyByte = Base64.decodeBase64(key);
//偏移量
byte[] ivByte = Base64.decodeBase64(iv);
try
{
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding");
SecretKeySpec spec = new SecretKeySpec(keyByte, "AES");
//生成iv
AlgorithmParameters parameters = AlgorithmParameters.getInstance("AES");
parameters.init(new IvParameterSpec(ivByte));
// 初始化
cipher.init(Cipher.DECRYPT_MODE, spec, parameters);
byte[] resultByte = cipher.doFinal(dataByte);
if (null != resultByte && resultByte.length > 0)
{
String result = new String(resultByte, encodingFormat);
return result;
}
return null;
}
catch (NoSuchAlgorithmException e)
{
e.printStackTrace();
}
catch (NoSuchPaddingException e)
{
e.printStackTrace();
}
catch (InvalidParameterSpecException e)
{
e.printStackTrace();
}
catch (InvalidKeyException e)
{
e.printStackTrace();
}
catch (InvalidAlgorithmParameterException e)
{
e.printStackTrace();
}
catch (IllegalBlockSizeException e)
{
e.printStackTrace();
}
catch (BadPaddingException e)
{
e.printStackTrace();
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
return null;
}
Java里面jvr_微信小程序java解密报异常Key length not 128/192/256 bits相关推荐
- 微信小程序 WXBizDataCrypt 解密 报错
在使用微信官方WXBizDataCrypt.js解密encryptedData获取敏感数据的时候,偶尔会报错. DeprecationWarning: Buffer() is deprecated d ...
- java实现微信小程序加密数据解密的代码怎么写
前言 微信小程序好坑啊!java明明是用户量最大的编程语言,可是都2021年了,他的小程序文档到现在都没有更新上java实现加密数据解密算法.... 微信小程序官方文档如下: 服务端获取开放数据 | ...
- ssm框架中前台html如何接受后台的数据_计算机毕业设计中实现java后台的微信小程序...
点击上方"蓝字",关注我们. 毕业设计做微信小程序+java后台.从对微信小程序一无所知到完成毕设,碰到许多问题,在跟大家分享一下自己的经历和一个小程序怎么从零开始.希望小程序初学 ...
- 微信读书登陆界面java_(JAVA后端)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好...
转载地址:(JAVA后端)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好 转载请注明出处 一.环境搭建 相关环境软件:JDK1 ...
- python微信小程序 java电子书阅读器系统uniapp
功能介绍 将系统权限按管理员和用户这两类涉及用户划分. (a) 管理员:管理员使用本系统涉到的功能主要有:个人中心.用户管理.类型管理.书城管理.管理员管理.系统管理等功能. (b)用户进入系统前台可 ...
- (微信小程序)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好
转载地址:(微信小程序)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好 转载请注明出处 作者:Happy王子乐 个人网站(整理 ...
- java后台接收微信小程序发送的post请求参数
java后台接收微信小程序发送的post请求参数 // 微信端:data数据要加上JSON转换JSON.stringify() wx.request({url: 'http://127.0.0.1:8 ...
- 微信小程序-JAVA实现微信支付功能(微信支付2.0)
微信小程序-JAVA实现微信支付功能(微信支付2.0) 一.前言 本博客主要介绍JAVA后台与微信小程序(UNI-APP或者原生微信小程序)的微信支付的实现,如果是APP或者H5的开发暂时不支持,具体 ...
- 微信小程序 java疫情个人防疫打卡监控系统python
将系统权限按管理员和用户这两类涉及用户划分. (a) 管理员:管理员使用本系统涉到的功能主要有:个人中心.用户管理.个人打卡管理.防疫打卡管理.消息提醒管理.系统管理等功能 (b)用户进入系统前台可以 ...
最新文章
- JSP关于Frameset的简单用法
- 在同一网段内运行同一命令_怎么又是你?男子一天内2次酒驾被查,没想到碰上了同一个交警...
- Oracle openv目录,2015年ORACLE数据库日常维护手册82281192.doc
- PAT乙类1009 说反话 (20 分)
- 各类木材强度_凯狄解析各类抽芯铆钉的工作原理
- SpringBoot—数据库初始化脚本配置
- 构建嵌入式linux系统_用于构建嵌入式Linux系统的4种工具
- python 网络编程_python网络编程示例(客户端与服务端)
- JQuery学习记录——jQuery对象和DOM对象的转换
- [转载] javascript入门_WebAssembly入门-仅使用14行JavaScript
- 《OpenGL ES 3.x游戏开发(下卷)》一2.8 小结
- linux ruby作用域,Ruby 的作用域和作用域门
- mysql数据库root密码在哪个文件中_mysql数据库的root密码放在什么位置?
- C++读xml 文件信息
- 百度ai开放平台体验
- 腾云忆想技术干货|TSF微服务治理实战系列(三)——服务限流
- ssms远程服务器地址,SSMS如何远程到SQL SERVER?
- 体会现实生活的两个月(上)
- input的button类型,点击页面跳转
- C++ 判断路径是否存在,不存在则创建(包含多级创建)