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

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

点点

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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
在当下的时代中不要轻易的说不合适的话 小伙伴们知道吗,我们的每一次“开小差” 都有“人”给你完完整整地记录着!
爬虫与反爬一直在不停的斗争,手段层次不穷。字体反爬算是常见的一种手段,大抵的思路是通过字体文件将浏览器渲染结合起来,让浏览器看到的内容与肉眼看到的内容不一致,达成一定的反爬目的。
听到好微信的音频,该如何去下载?视频可以去腾讯视频里搜视频名字,可以找得到视频页面链接。音频有两种:音乐就直接去后台搜,如果是录音的那种音频,用以下方法下载。免费保证百分百成功。
日常生活工作中,会用到Word 文件转换成 PDF 文件的事情,下边就跟小编来看一下吧!
当下时代,PPT是十分常用的文件类型之一,成为我们生活与工作中的助力,有些小伙伴们不知道如何在PPT文档中插入Word文档,接下来小编就给小伙伴们介绍一下具体的操作步骤。
我们经常使用微信,每天很多小伙伴都会发几条朋友圈。撒狗粮的,发心情的,发动态的,发广告的,发游戏链接等,可是朋友圈不显示怎么办那?下面请跟我来,分分钟钟学会。
iPhone13拍照性能越来越强劲,但是很多用户在使用习惯iPhone以后,都会发现更多拍照上的差异,很多用户在使用了iPhone13拍照以后,都想要知道iPhone13拍照自动补光怎么关?那么下面就让点点给小伙伴们介绍一下。
小伙伴们在工作中,经常会有一些事情需要记录在本或者电脑里,很多小伙伴们看过小编之前的文章介绍过很多关于笔记软件的内容,有的小伙伴会去充值会员进行使用,也有的小伙伴不想要充会员,就来问小编微信可以记笔记吗,如何转发笔记给好友呢?