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

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

点点

2021-04-15 20:04 阅读 504 喜欢 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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
在日常生活中经常会用到电脑,使用电脑访问网页的过程中,小伙伴们可能会收到一个“404 not found”提醒,那么这是什么意思呢?出现这个问题的原因是什么?该如何解决哪?
如果在没有wifi的情况下,我们接收qq信息就要流量。尤其是图片,QQ里加入的群很多,接收图片就很费流量。在这样的情况下我们可以设置屏蔽群图片,手机qq怎么设置屏蔽群图片呢?下面为小伙伴们介绍。
选择对于大部分抖音玩家来说,圈粉是一件非常令人头疼的事情。很多人说,新号越来越难做,增长也越来越困难了。那么我们要如何去圈粉呢?在操作的时候有需要注意一些什么呢?
平常生活中,我们很多的时候都会用到电脑,现在大部分电脑都是win10系统,有些用户遇到了无法安装软件问题,想知道如何解决?跟小编来。
小伙伴们知道如何把微信/QQ里的语音导出为mp3吗?下面就跟小伙伴们分享一下。
腾讯公司的QQ软件是小伙伴们最喜爱的通讯软件之一,可是有些小伙伴还不太熟悉它的一些设置,比如,很多小伙伴们不清楚怎么恢复已删除的QQ好友和QQ群,小编今天给小伙伴们分享解决这个问题的方法。
在智能手机使用中苹果手机用户量是庞大的,在我们使用苹果手机的时候,很多用户都会使用隔空投送功能,可以轻松的把自己手机的东西投送到另一台设备上,并且没有网络的情况下也可以使用,但是因为很多设备名字都类似,很多小伙伴们找不到另一台手机,想要知道苹果手机隔空投送名字怎么改?
自从有了微信后,QQ好像落寂了不少,不过玩游戏的小伙伴好像还是很多使用的,QQ不经常用的情况下,换手机或者需要传输大文件的时候,发现密码忘了,手机号也换了不能用了该怎么解决呢?