微信小程序手机号解密失败-43001】的更多相关文章

今天是2020年1月16号,从昨天下午开始,一直遇到一个问题: 客户在注册会员的时候的第二步,验证手机号的时候,一直提示验证失败,-43001 直接说原因:用户的session_key过期 期间大部分用户都是直接可以获取到的,只有很少几个用户点了允许按钮,一直没有反应,后台将错误信息保存了起来显示的结果是-43001,也就是解密失败.极少数的是-42001是因为获取验证码太多次了,腾讯那边就没有返回了,这个要等一会儿就可以了.最后发现,原因是:失败的那些用户,一直都是小程序的老用户,他们原先很早…
微信小程序分享群获取群id时后端接口返回"微信AES解密失败",后来定位到原因是服务端用于解密的session_key失效.用户获取到openID存在缓存后,就不会每次login获取登录态了,这样会导致登录态失效,即后端维护的session_key失效.分享群后获取的加密信息是老的session_key+openId构成,服务端解密时的session_key要和分享前一致. 在需要获取openGid的页面: app.getOpenId(this.route, this.data.pag…
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/79450115 一.概述 微信推出了小程序,很多公司的客户端应用不仅具有了APP.H5.还接入了小程序开发.但是,小程序中竟然没有提供Java版本的加密数据解密算法.这着实让广大的Java开发人员蛋疼. 微信小程序提供的加密数据解密算法链接为:https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html 最新地址为:htt…
解密加密源码 using System; using System.Security.Cryptography; using System.Text; namespace Wechat { public static class Security { public static string Decrypt(string key, string iv, string data) { var rgbKey = Convert.FromBase64String(key); var rgbIV = C…
这是一个寒假假期作业,要求是用web开发或者微信小程序或者手机app开发的,我本来是打算用微信小程序开发的,但由于这个后台数据库连接需要通过https认证后的浏览器再访问MySQL.所以做到后台数据库连接我就不得不停止,因为太贵了实在买不起.这是我做的微信小程序的界面.因为我自己不按时设计程序的话会习惯先用固定数据设计页面(这样可以比较好看到页面效果)然后再连接数据库用数据库里的数据代替. 这个是只要一创建微信小程序就会帮你创建的一个页面之一,总共会创建两个页面还一个是记录页面,因为第二个页面没…
在微信小程的开发中,登录问题,一定要按照这样的顺序 1. 小程序请求login,拿到code 然后传给服务端:  2.服务端拿到code 到微信服务器拿到sessionKey :3.然后小程序调用getuserinfo接口拿到encryptedData,iv,然后给服务端:4.服务端拿到客户端的encryptedData,vi还有之前的sessionKey去解密得到 unionId等用户信息:不然就会出现你这样的问题,你这种情况偶然出现的原因就是 你在服务端还未去获取sessionKey的时候你…
加密:encodeURIComponent(参数) 解密:decodeURIComponent(参数)…
第三方类库 第三方类库指除了 ThinkPHP 框架.应用项目类库之外的其他类库,一般由第三方系统或产品提供,如 Smarty.Zend 等系统的类库等. 前面使用自动加载或 import 方法导入的类库,ThinkPHP 约定是以 .class.php 为后缀的,非这类的后缀,需要通过 import 的参数来控制. 但对第三类库,由于不会有此约定,其后缀只能认为是 php .为了方便的引入其他框架和系统的类库,ThinkPHP 特意提供了导入第三方类库的功能.第三方类库统一放置在 ThinkP…
wxml: <text>pages/logins/logins.wxml</text> // <button open-type="getPhoneNumber" bindtap="onClik">获取手机号</button> 参考 够买书籍进行支付 https://www.cnblogs.com/xiaoyantongxue/p/15629503.html 手机验证码登录 https://www.cnblogs.co…
前言:在网上看了找回微信小程序源码很多教程,都没法正常使用.微信版本升级后,会遇到各种报错, 以及无法获取到wxss的问题.查阅各种资料,最终解决,于是贴上完整的微信小程序反编译方案与教程. 本文章仅作学习使用.     微信小程序反编译截图1     微信小程序反编译截图2 ------ 常见的微信小程序反编译失败问题 ----- 1 获取不到Wxss     2 遇见分包,无法反编译.   3 apkg反编译报错. ( 目前都已解决) 一 准备工具 1 node.js  运行环境 如果没有安…
微信小程序获取用户信息诸如unionId的时候需要解密,如果遇到偶然的解密失败(填充无效,无法被移除),原因很有可能是session_key错误, 也是就你用作解密的session_key并不是微信用作加密的那个了,但是并不代表你的session_key已经失效. C#解密代码(亲测有效,可以直接复制使用) /// <summary> /// Aes解密 /// </summary> /// <param name="str">需要解密的字符串<…
微信小程序获取用户解密的Session_key 然后对 encryptedData进行解密 偶尔报错 时间长了之后会报内存溢出: java.lang.OutOfMemoryError: GC overhead limit exceeded at javax.crypto.JarVerifier.verifySingleJar(JarVerifier.java:426) at javax.crypto.JarVerifier.verifyJars(JarVerifier.java:322) at…
获取微信用户绑定的手机号,需先调用wx.login接口. 小程序获取code. 后台得到session_key,openid. 组件触发getPhoneNumber 因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用<button> 组件的点击来触发. 需要将 <button> 组件 open-type 的值设置为 getPhoneNumber,当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到微信服务器返回的加密数据…
原理:通过微信登陆接口wx.login得到encryptedData . iv  .code.经过接口处理code得到sessionkey.最后官方demo得到解密后的手机号.(接口处理这一步也可以在小程序里操作wx.request,不必在后台处理.) demo.php源码: <?php include_once "wxBizDataCrypt.php"; $appid = 'wxda4661c645a843fd';$appsecret=''; //必须接收参数:encrypte…
上一篇文章介绍过 微信小程序配置消息推送,没有看过的可以先去查看一下,这里就直接去把那个客服消息接口去解密那个消息了. 在这里我选择的还是json格式的加密. 也就是给小程序客服消息发送的消息都会被微信转发到这里配置的地址和接口上面. 在页面中使用客服消息也就是如下这个效果,是需要用到微信提供的button标签上面的open-type的 点击进入客服消息也就是如下这个效果. 然后你发送的消息就会被转发到上面你配置的那个服务器的端口和那个接口上面,也就是例子中的 只不过配置确认的时候的接口是get…
最近在做一款微信小程序,需要获取用户手机号,具体步骤如下: 流程图: 1.首先,客户端调用wx.login,回调数据了包含jscode,用于获取openid(用户唯一标识)和sessionkey(会话密钥). 2.拿到jscode后,将其发送给服务端,服务端拿它与微信服务端做交互获取openid和sessionkey.具体获取方法如下: (1)需要写一个HttpUrlConnection工具类: <span style="font-size:18px;">public cl…
后边要做一个微信小程序,并要能获取用户微信绑定的手机号码.而小程序开发文档上边提供的获取手机号码的接口(getPhoneNumber())返回的是密文,需要服务器端进行解密,但是官方提供的开发文档一如既往的乱,如果没有对小程序开发文档有一个整体的了解,搞懂解密流程还是有点难的.这里把小程序从请求用户授权获取手机号码直至获取到手机号码明文的整个流程串了起来,方便迅速了解,如下: 一. 前端相关操作: 1. 请求用户授权获取手机号码: 因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 AP…
using AIOWeb.Models; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; namespace AIOWeb { /// <summary> /// wxapi 的…
.net mvc 站点自带简易SSL加密传输   因项目需要,传输数据需要加密,因此有了一些经验,现简易抽出来分享! 请求:前端cryptojs用rsa/aes 或 rsa/des加密,后端.net 解密返回后端.net用rsa/aes 或 rsa/des加密,前端cryptojs解密 图示: 数据发送加密: 返回数据加密: 开源代码分享:https://github.com/guandy/NetSSL 现只是简易抽出,如果后续需求量大可考虑做成组件 Word报告自动生成(例如 导出数据库结构)…
后边要做一个微信小程序,并要能获取用户微信绑定的手机号码.而小程序开发文档上边提供的获取手机号码的接口(getPhoneNumber())返回的是密文,需要服务器端进行解密,但是官方提供的开发文档一如既往的乱,如果没有对小程序开发文档有一个整体的了解,搞懂解密流程还是有点难的.这里把小程序从请求用户授权获取手机号码直至获取到手机号码明文的整个流程串了起来,方便迅速了解,如下: 一. 前端相关操作: 1. 请求用户授权获取手机号码: 因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 AP…
小程序获取登录用户手机号. 因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 <button> 组件的点击来触发. 首先,放置一个 button 按钮,将 button 的 open-type 的属性值设为 getPhoneNumber . 当用户点击并通过之后,通过绑定的事件获取微信服务器返回过来的加密数据,再根据 session_key 和 app_id 通过后台解密就可以获取手机号啦. 说到这,就上码吧!!! <!--index.wxml-->…
授权页面 因为微信小程序提供的 权限弹窗 只能通用户确认授权 所以可以 写一个授权页面,让用户点击 来获取用户相关信息 然后再配合后台就可以完成登录 <button class="btnInfo" open-type="getUserInfo"/> 素材 页面代码示例这个接口要在后端调用(https://api.weixin.qq.com无法加入白名单) https://api.weixin.qq.com/sns/jscode2session?appid…
问题描述 最近在开发微信小程序涉及到加密数据(encryptedData)的解密,用的是PHP代码,在运行后报错mcrypt_module_ xxx is deprecated,提示方法已过时了 经研究得知,是php7.1版本引起的,可以使用openssl方法代替解密. 首先要知道微信方使用的是AES-128-CBC加密的: ​​ 所以我们采用openssl也应该对应: /** * 对密文进行解密 * @param string $aesCipher 需要解密的密文 * @param strin…
[未经作者本人同意,请勿以任何形式转载] 经常看到有点的小伙伴在群里问小程序用户数据解密流程,所以打算写一篇关于小程序用户敏感数据解密教程: 加密过程微信服务器完成,解密过程在小程序和自身服务器完成,即由 encryptData 得到如下数据: { "openId": "OPENID", "nickName": "NICKNAME", "gender": GENDER, "city":…
微信小程序新建页面的要素一是新建的文件名称和其子文件的名称最好一致,不然容易出问题,在小程序页面跳转中如果出现WAService.js:3 navigateTo:fail url not in app.json错误 要在app.json(公共文件中)建立页面跳转page.如下图 不管是跳转到哪个页面,必须在json里的pages数组里面填写路径,不然跳转失败 跳转失败的另一个原因可能比较白痴了,就是跳转路径js写作错误,比如在上一级的兄弟页面中../兄弟页面直接写成/兄弟页面也是跳转失败 ps以…
在调取地图的时候发现,wx.openLocation的方法在模拟器和安卓手机上都可以用,在苹果手机上报错. 报错为调取失败:fail invoke too frequently                     fail invalid_coordinate 解决方法: 微信小程序默认将组件上绑定的参数都当作字符串了,所以认为坐标点不正确,强制转换成number类型即可. var lat = Number(e.currentTarget.dataset.lat),        lng =…
CryptoJS下载地址: https://code.google.com/archive/p/crypto-js/downloads http://download.csdn.net/detail/wz122889488/9851085 页面js引用: <script type="text/javascript" src="/content/plugin/CryptoJSv3.1.2/components/core-min.js"></scrip…
微信开放第三方API接口, 申请地址: https://mp.weixin.qq.com/advanced/advanced?action=interface&t=advanced/interface&token=1865635074&lang=zh_CN 官方提供PHP开发代码下载: 点此下载 如果你的微信接口页面没有做好,提交保存的时候,会提示:验证Token失败.这个错误是因为,你的接口页面还没有反馈正确的信息给微信接口.微信在教程方面还做得不够成熟,就一个PHP示例,还是有…
摘要:微信小程序解密建议使用1.6及以上的环境使用maven下载jar包org.bouncycastlebcprov-jdk15on1.55加密类代码importorg.bouncycastle.jce.provider.BouncyCastleProvider;importorg.bouncycastle.util.Arrays;importjavax.crypto.Cipher;importjavax.crypto.NoSuchPaddingException;importja 微信小程序解…
概述 通过微信web开发者工具创建登录,获取用户信息,发送至后台,进行用户数据解密 详细 代码下载:http://www.demodashi.com/demo/10705.html 一.准备工作 1.由于用到了 Redis 缓存,需要安装 Redis(安装略过) 2.后台开发环境Idea 15,java开发环境(安装略过),由于是 Maven 构建的项目,在 Eclipse 下也可以运行 3.下载安装微信Web开发者工具 4.本实例通过客户端登录请求后台,进行微信用户信息解密 二.程序实现 1.…