使用java springmvc对微信小程序获取到的加密微信运动数据进行解密

//解密微信运动数据@ResponseBody@RequestMapping(value = "getEncryptedData", method = RequestMethod.GET)public String getUserInfo(String encryptedData,String sessionkey,String iv){System.out.println("encryptedData"+encryptedData);System.out.println("sessionkey:"+sessionkey);System.out.println("iv:"+iv);// 被加密的数据byte[] dataByte = Base64.decode(encryptedData);// 加密秘钥byte[] keyByte = Base64.decode(sessionkey);// 偏移量byte[] ivByte = Base64.decode(iv);try {// 如果密钥不足16位,那么就补足int base = 16;if (keyByte.length % base != 0) {int groups = keyByte.length / base + (keyByte.length % base != 0 ? 1 : 0);byte[] temp = new byte[groups * base];Arrays.fill(temp, (byte) 0);System.arraycopy(keyByte, 0, temp, 0, keyByte.length);keyByte = temp;}// 初始化Security.addProvider(new BouncyCastleProvider());Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding","BC");SecretKeySpec spec = new SecretKeySpec(keyByte, "AES");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, "UTF-8");System.out.println("result:"+result);return result;}} catch (NoSuchAlgorithmException e) {e.printStackTrace();} catch (NoSuchPaddingException e) {e.printStackTrace();} catch (InvalidParameterSpecException e) {e.printStackTrace();} catch (IllegalBlockSizeException e) {e.printStackTrace();} catch (BadPaddingException e) {e.printStackTrace();} catch (UnsupportedEncodingException e) {e.printStackTrace();} catch (InvalidKeyException e) {e.printStackTrace();} catch (InvalidAlgorithmParameterException e) {e.printStackTrace();} catch (NoSuchProviderException e) {e.printStackTrace();}return null;}

解密微信小程序加密的微信运动数据(java)相关推荐

  1. 微信小程序加密解密 C# 以及 填充无效,无法被移除错误的解决方案 Padding is invalid and cannot be removed

    微信小程序加密解密 C# 以及 填充无效,无法被移除错误的解决方案 Padding is invalid and cannot be removed 参考文章: (1)微信小程序加密解密 C# 以及 ...

  2. 微信小程序与服务器对称加解密,细说CryptoJs使用(微信小程序加密解密)

    前言 CryptoJs是google推出的一款前段解密类库.功能强大,包含很多的前段解密算法. 一.google下载地址: 二次开发版本 google原版地址 二.常用方法 Testing webso ...

  3. 微信小程序开发(一) 微信登录流程

    文/YXJ 地址:http://blog.csdn.net/sk719887916/article/details/53761107 最近在研究微信小程序开发,非常有意思的一个东西.花了一点时间写了一 ...

  4. 【微信小程序系列】微信小程序连接后端数据库(SSM)案例

    [微信小程序系列]微信小程序连接后端数据库(SSM)案例 登录页面 login.wxml <view class="page"><loading hidden=& ...

  5. wechat-app-mall — 微信小程序商城,微信小程序微店

    简介: wechat-app-mall - 微信小程序商城,微信小程序微店 网盘下载地址: http://kekewangLuo.cc/5Y95XKVEXkL0 图片:

  6. PHP更新小程序,微信小程序Tab页切换更新数据详细介绍

    这篇文章主要介绍了微信小程序 Tab页切换更新数据的相关资料,需要的朋友可以参考下 微信小程序 Tab页切换更新数据 微信小程序还处于内测阶段,最不方便的莫过于官方在不停的更新,前几天写的功能隔个几天 ...

  7. 微信小程序开发学习笔记001--认识微信小程序,第一个微信小程序

    第一天,认识微信小程序,第一个微信小程序 1.什么是微信小程序? 是h5网页嘛?不是 微信张小龙说: 小程序是一种不需要下载安装即可使用的应用, 它实现了应用"触手可及"的梦想,用 ...

  8. 【微信小程序系列】微信小程序超简单教程,基本语法,获取用户基本数据信息,实现对云数据库的增删改查及小程序外部api的引用示例(附源码)

    [微信小程序系列]微信小程序超简单教程 小程序项目结构 静态页面的构成 HTML:结构 css:样式 js:行为 小程序 页面全部存放在pages, 而且pages目录只能存放页面 页面包括4个文件, ...

  9. [转]微信小程序之购物车 —— 微信小程序实战商城系列(5)

    本文转自:http://blog.csdn.net/michael_ouyang/article/details/70755892 续上一篇的文章:微信小程序之商品属性分类  -- 微信小程序实战商城 ...

最新文章

  1. NLP 预训练家族再思考
  2. Asp.net細微的效率提升
  3. js能否打印服务器端文档,js打印远程服务器文件
  4. 去除le-table表格的hover效果
  5. 【Java】Stream流和方法引用
  6. 5G 十项全能、搭载麒麟 820 芯片,1899 元起的荣耀 X10 来了!
  7. 放之四海皆适用的设计原则(二)
  8. 高分四号数据计算表观反射率
  9. JAVA环境配置详细教程
  10. android设置动画循环播放,Android动画之AnimatorSet如何循环执行
  11. 爬虫(二)—解析真实网页(猫途鹰)
  12. 【推荐系统】 一、推荐系统简介
  13. 中职网络安全大赛攻防阶段加固(仅供参考!!!)
  14. 苹果PD20W快充方案缺货,芯片供应不足,怎么破局?
  15. 劲爆!群晖docker视频
  16. Profibus DP新总结
  17. BCH分叉是一次站队博弈
  18. HyperLogLog 使用及其算法原理详细讲解
  19. 成都生物研究所高性能计算服务器,专家人才库数据----中科院成都生物所资源库...
  20. Java程序员面试技巧:这样面试通过率增加90%

热门文章

  1. 2022年iFLYTEKA.I.开发者大赛疫情微博情绪识别挑战赛
  2. java zxing条形码去掉两边空白,密度调整,固定条形码宽度
  3. Oasis Sapphire黑客松来袭 | 构建隐私DApp,赢取9000美元奖励!
  4. Vue + vite 切换 favicon图标
  5. E1使用Padavan固件网口做WAN的设置
  6. Java解决下载--文件名乱码
  7. python商务图表_Excel 数据之美:科学图表与商业图表的绘制(全彩)
  8. 复制网页上不能复制的文字
  9. 计算机无法连接蓝牙键盘,电脑如何连接无线键盘_电脑上怎么连接蓝牙键盘-win7之家...
  10. 【arduino】常用芯片ATMEGA328P-AU 32TQFP资料详解