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

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

点点

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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
日常生活中,我们经常使用到手机热点,它相当于一个移动路由器,可以开启WiFi在其他设备上直接连接使用,而且打开手机热点操作非常简单,那小伙伴们开启手机热点之后为什么连接不上呢,下面就和小编一起来看看吧!
苹果12app下载不了软件怎么办?IPhone12App Store下载不了东西?在使用IPhone12手机时,出现App Store应用商店无法下载软件的情况时,该怎么解决这种问题呢,苹果12app下载不了软件怎么办,怎么解决IPhone 12Apple Store下载不了东西问题,下面就和点点一起来看看吧!
当我们在使用微信的时候,通常会拉黑对我们不友好的好友,但是因为一些误会我们想要把好友从微信黑名单中解除,但是因为微信的不断更新,很多用户找不到黑名单,所以想要知道微信黑名单怎么解除?
随着电子技术的不断发展,即时通许软件已经成为我们工作和生活的一部分了。那在电脑上使用微信接收的图片,都保存在哪个文件夹呢?如果想要清理这些图片的话,又有哪些微信图片的清理方法呢?
QQ是80后的一代回忆,那个时候QQ可是通信的主要软件,不仅可以聊天还可以玩游戏,应该是很多小伙伴们的恋爱神器, QQ是腾讯QQ的简称,是腾讯公司推出的一款基于互联网的即时通信软件,QQ可以聊天,发动态等很多功能,那qq怎么看以前加过的好友呢,就让小编带小伙伴们来看一下吧。
我们日常必备的聊天工具微信,在使用的时候也有误删人的情况出现,这个时候小伙伴们知道怎么悄悄的将删除的人加回来呢?最快将删除的人加回来的方法有哪些呢?
如果只有一两个,我们可以通过高版本的powerpoint软件直接打开ppt然后另存为pptx格式即可,但是如果是几百上千个文件,估计大部分人都会来找工具了。
QQ是常用的社交软件,它的用户群体是相当的广泛,由于它的功能强大,操作简单,很多人不仅会用其聊天,还会用它来记录美好的生活。其中QQ相册就承载了不少人的美好回忆,不少小伙伴们由于各种原因把其空间图片给删除啦。事后又想看,苦于没有办法恢复。其实QQ照片是有回收站的,跟点点来吧!