微信小程序> 微信小程序wx.login解密用户信息与电话号码出现乱码、失败、(41003)的问题解决办法

微信小程序wx.login解密用户信息与电话号码出现乱码、失败、(41003)的问题解决办法

浏览量:560 时间: 来源:x1a0x0

走过的坑.... 

写好的代码 明明解密是可以的 结果第二天再测试的时候 一个电话解密成功 昨天的电话解密失败.

然后开始寻找问题之旅.

1:查看打印信息

    把2个微信 返回的encryptedData、Vi与获取的SESSION_KEY打印.未发现问题. 解析后都是乱码.但是第一个电话可以正常解析,第二个电话依然解析失败.找到一条解决办法 说是有敏感信息 尝试修改解析的转码代码。

                        //$module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');
//mcrypt_generic_init($module, $this-key, $aesIV);
//解密
//$decrypted = mdecrypt_generic($module, $aesCipher);
//mcrypt_generic_deinit($module);

//mcrypt_module_close($module);

                        openssl_decrypt( $aesCipher, "AES-128-CBC", $aesKey, 1, $aesIV);

    然后继续尝试 依然转码失败.

2:另翻到一条解决方法说是解析乱码 是因为有空格传送出现+号 尝试 使用 urlencode  进行祛除.  无效.

3:再次尝试前后代码是否一致 页面加入 header("Content-type: text/html; charset=utf-8"); 无效.

4:仔细查看代码,wx.login确保只是调用一次,未更新session_key导致失效.

5:最后继续查找小程序手册中,发现SESSION_KEY的有效期是不固定的,而忘记最初为什么写了固定的session时间进行更新.

   解决办法: 在判断缓存已经存在后 进行SESSION_KEY验证, 如果通过正常使用 如果未通过 重新wx.login进行更新SESSION_KEY.

                     wx.checkSession({
                success: function () {
                    resolve(sessionid);
                },
                fail: function () {
                    wx.login({
                        success: res = {
                            wx.request({
                                url: util.url.getsessionid,
                                data: { code: res.code },
                                success: function (session) {
                                    wx.setStorageSync('sessionid', session.data.sessionid);
                                    resolve(session.data.sessionid);
                                },
                            })
                        }
                    })
                }
            })

最终解决.

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎