微信小程序前端解密手机号码

微信小程序前端解密手机号码

点点

2021-04-15 20:04 阅读 587 喜欢 0

想到这个问题的肯定很多,动手能力强的也超级多...直接百度试试,竟然找到了.. 不过直接按照他的拿来还有报错(有几个引入问题),注释后就OK了。

准备

cryptoJs 一个解密函数,可直接参考官网nodejs demo。

代码

WXDataEncryp.js

var Crypto = require('../utils/encry/cryptojs.js').Crypto; function WXDataEncryp(appId, sessionKey) { this.appId = appId this.sessionKey = sessionKey }

WXDataEncryp.prototype.decryptData = function (encryptedData, iv) { // base64 decode :使用 CryptoJS 中 Crypto.util.base64ToBytes()进行 base64解码 var encryptedData = Crypto.util.base64ToBytes(encryptedData) var key = Crypto.util.base64ToBytes(this.sessionKey); var iv = Crypto.util.base64ToBytes(iv);

// 对称解密使用的算法为 AES-128-CBC,数据采用PKCS#7填充 var mode = new Crypto.mode.CBC(Crypto.pad.pkcs7);

try { // 解密 var bytes = Crypto.AES.decrypt(encryptedData, key, { asBpytes:true, iv: iv, mode: mode });

var decryptResult = JSON.parse(bytes);

} catch (err) { console.log(err) } return decryptResult }

module.exports = WXDataEncryp; 将cryptoJs下载后扔到项目下,修改cryptojs.js ,如下:

可以先不注释,不报错就OK 可以先不注释,不报错就OK

使用

直接引入,传参即可。 xxx.js

//引入 const WXDataEncryp = require('../../utils/WXDataEncryp'); ... //获取手机号码按钮点击回调 async getPhoneNumber(e){ if(e.detail.iv && e.detail.encryptedData){ let data = e.detail.encryptedData; let iv = e.detail.iv; //此处获取 appid session_key let appId = config.appid; let userInfo = await util.getStoreInfo(); let sessionKey = userInfo.session_key;

  let datains = new WXDataEncryp(appId,sessionKey);
  let rs = datains.decryptData(data,iv)
  //将手机号码进行存储到userInfo中
  console.log(rs.phoneNumber);//获得手机号
}else{
  util.msg('获取授权失败')
}

} 拿到手机号进行回传server 进行保存即可,后续再需要就可以直接到server找了。

转载请注明出处: http://sdxlp.cn/article/解密手机号.html


如果对你有用的话,请赏给作者一个馒头吧 ...或帮点下页面底部的广告,感谢!!

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
在微信读书中,小伙伴们可以通过个人主页看到好友正在阅读的书、书架等等,有很多小伙伴不想让其他用户看到自己的阅读书架,该怎么将书架的书全部隐藏呢,下面就和点点一起来看看吧!
微信中最新更新了发送音乐的功能,可以在微信中搜索音乐发送给好友,所以会带给很多用户带来更多便捷的操作,不用再从第三方下载发送,下面就让涂涂给小伙伴们介绍一下微信发送音乐的具体操作。
智能手机相当与一台移动式的电脑,许多小伙伴都有将重要文件和图片保存到手机上的习惯,如果我们的手机丢失了应该怎么办呢?
直播带货已经成为当今的主流,许多小伙伴都喜欢在快手小黄车中购买主播卖的商品,我们在交易过程中需要与客服进行联系,那么我们应该怎么查看与客服的聊天信息呢?今天,小编就教小伙伴们在快手小黄车中查看客服信息。
华为手机中最先推出的纯净模式对于很多用户来说如获至宝,但是对于很多用户来说都是鸡肋的功能,因为打开后会阻拦所有第三方的下载渠道,所以很多用户想要知道华为手机纯净模式怎么关闭?
做爬虫或其他的一些应用的时候,如果需要一些短信验证,又没有那么多手机号,又不能放人在那里一直输入的时候?怎么办?
小伙伴们在自驾出远门时,是不是有和我同款的路盲人士呀?基本远行都是不记路,开导航的,那我经常使用的就是高德了,高德有好多的语音,高德地图一条小团团语音包怎么设置?在最近,高德地图上线了一条小团团的导航语音包,很多人都想将自己的导航语音包设置为一条小团团的语音包,但是具体该怎么设置呢,怎么更换为一条小团团语音包,下面就和点点一起来看看吧!
如果页面比较多的,一个页面一个页面的保存的话,就比较费劲了。一个自动抓取静态站资源的工具,可以在抓取静态站点的时候方便不少。