微信小程序手机号码解密

  • 1、项目引入解密文件gav
  • 2、java 代码中解密操作
  • 3、手机号码的密文获取

1、项目引入解密文件gav

<dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15on</artifactId><version>1.64</version></dependency>

2、java 代码中解密操作

@Slf4j
public class Aes {private Aes(){throw new IllegalStateException("Aes class");}static {Security.addProvider(new BouncyCastleProvider());}public static  String decrypt(String encryptedData, String sessionKey, String iv) throws Exception {String result = "";// 被加密的数据byte[] dataByte = Base64.decodeBase64(encryptedData);// 加密秘钥byte[] keyByte = Base64.decodeBase64(sessionKey);// 偏移量byte[] ivByte = Base64.decodeBase64(iv);try {// 如果密钥不足16位,那么就补足. 这个if 中的内容很重要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) {result = new String(resultByte, "UTF-8");}} catch (Exception e) {log.error(e.getMessage(), e);} return result;}
}

3、手机号码的密文获取

  • 手机号码的密文获取时,当前操作需要前端开发人员在,一定要确保密是在获取code后利用code加密进行。一下为小程序官方的注意事项申明。

  • 在回调中调用 wx.login 登录,可能会刷新登录态。此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。建议开发者提前进行 login;或者在回调中先使用 checkSession 进行登录态检查,避免 login 刷新登录态。

微信小程序手机号码如何进行解密相关推荐

  1. 微信小程序获取手机号并解密详解

    微信小程序获取手机号并解密 1 获取手机号 2 解密 2.1 获取所需数据 2.2 解密返回数据 1 获取手机号 获取手机号的过程官方文档有详细的介绍.参考官方链接 要注意的是,此功能只对非个人且完成 ...

  2. 微信小程序 页面传值文本解密问题

    微信小程序 页面传值文本解密问题 遇到问题 最近在做小程序,遇到这样一个需求: 将百度的Ueditor编辑器存入的文本数据显示在小程序中,需要保留之前的样式,这就用到了 WxParse插件,它能够用解 ...

  3. 微信小程序后台 iv encryptedData 解密

    微信小程序后台 iv encryptedData  解密准备工作 首先 第一步配置 pom <dependency><groupId>org.bouncycastle</ ...

  4. java写微信小程序答辩问题_java微信小程序开发中加密解密算法总结

    详解java微信小程序开发中加密解密算法 一.概述 微信推出了小程序,很多公司的客户端应用不仅具有了APP.H5.还接入了小程序开发.但是,小程序中竟然没有提供Java版本的加密数据解密算法.这着实让 ...

  5. PHP微信小程序之获取并解密用户数据获取openId和unionId

    前言 微信小程序API文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html 在实际的小程序开发中,往往需要用户授权登陆并获取用 ...

  6. 微信小程序 获取手机号 JavaScript解密示例代码详解

    刚开始开发微信小程序的时候,想着实现手机验证码登入,后来查阅资料得知,发给用户的短信是要自己付费的.后来想想,微信获取用户的手机号一样可以保证手机号码的真实性,因为手机号既然可以绑定微信,那么肯定是被 ...

  7. php获取微信uninoid_PHP微信小程序之获取并解密用户数据获取openId和unionId,,小程序登陆...

    前言 微信小程序API文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html 在实际的小程序开发中,往往需要用户授权登陆并获取用 ...

  8. java登入ajxs_微信小程序之获取并解密用户数据(获取openid,nickName等)

    本文主要总结微信小程序通过后台请求访问微信用户信息 创建一个微信小程序工程(自行百度) 微信小程序index.js代码 //index.js //获取应用实例 const app = getApp() ...

  9. 微信小程序前端RSA加解密

     开门见山地说,希望各位前端不要搜到这篇文章,因为我总感觉在小程序端去做RSA的加解密总有种脱了裤子放屁多此一举的感觉.但是需求来的时候总是说不准的,接下来我就给大家推荐一种在小程序端比较方便,操作不 ...

最新文章

  1. [笔记].关于在Quartus II 11.0无法正常使用SignalTap的解决方法
  2. DCT C语言 修改了c程序以及matlab的程序
  3. C语言求最大公约数GCD的算法(附完整源码)
  4. PHP的引用传值值传递
  5. php 缩略图增加水印,PHP生成缩略图加图片水印代码
  6. mysql之count,max,min,sum,avg,celing,floor
  7. 只安装python能干什么_你都用 Python 来做什么?
  8. 评分卡模型开发(一)--用户数据缺失值处理
  9. TODO:这是一个我的自媒体
  10. MaskRCNN源码解析1:整体结构概述
  11. 基于Python爬取Bing图片
  12. python怎么让矩阵内所有元素自己平方_python numpy库中矩阵用法指南
  13. camera tuning名词缩写
  14. DarkComet RAT简介
  15. python进行表白,画爱心
  16. 我的世界1.14java原版命令_我的世界1.14.4第一个预览版发布 添加了debugreport命令...
  17. QQ空间自动点赞脚本
  18. tplink查看上网记录_tp-link路由器如何查看连接人数 tp-link路由器查看连接人数方法【步骤】...
  19. Linux远程联机服务器SSH VNC XDMCP RDP
  20. JRtplib开发笔记(二):JRtplib库编译、示例演示

热门文章

  1. MacBook Pro电池0%,接上电源却显示电池没有正在充电的解决方案
  2. Foxmail 7.2数据迁移,导入旧数据
  3. 详解c语言main函数、printf函数、scanf函数与va家族
  4. linux检查邮件命令,linux下mail 邮件查看命令
  5. 程序员真实从零开始实操 赚钱渠道之一CPS
  6. Linux如何配置ssh key
  7. 中国石油大学《输气管道设计与管理(含课程设计)》第二阶段在线作业
  8. 魔域服务器修改和宝宝数据,宝宝属性与真实值之间的公式计算关系
  9. 速都app推广:移动网页seo优化和APP发布与aso优化试水
  10. 微软关于dns配置的资料