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

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

点点

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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
平时免不了要换手机号,换手机。但是我们并不想换手机号和手机后我们的朋友不见啦!想再保留下来该如何处理哪?换手机登微信的时候需要验证你在微信上绑定的手机号码。如果我们把手机号码换了,怎么办了?
网络是有记忆的,有过联系就会留下痕迹,QQ十年前的好友删除了该怎样找回?嘿嘿,关注点点,让小伙伴们回到青春时的回忆!直接给小伙伴们上干货啦!跟着点点来!
现在的智能手机内存一般都是比较大的,因此我们在出差的时候,喜欢将视频下载到手机里面以便于观看,但是如果我们在删除视频时,不小心误删了重要的视频,那么我们应该怎将删除的视频恢复呢?手机视频误删怎么恢复?
智能手机是我们生活中的标配,有很多的手机功能不太好用,该如何处理哪?例如智能手机红米手机也是搭载了最新的miui13系统,所以也是具备miui13系统中的最新的纯净模式的,所以很多用户在打开之后就会造成无法下载第三方软件,很多小伙伴们觉得不太好用,所以很多小伙伴们想要知道红米手机纯净模式怎么关闭?
最近小编在各大的平台都看到很多的小伙伴们都在找副业,也有小伙伴找小编想给小编的网站啊做运营,也有私信小编的,有时间小编会一一回复,在平台上的大多数都是想收割韭菜的,副业大部分还是需要自己静下心来慢慢做,声音,图片,绘画,面部表情,写作等等都是可以的,主要是找准方向,持续更新,刚开始都是难的后期就会容易,前期也是没有毛毛拿的,需要小伙伴们,有耐心,坚持。
在微信读书中,小伙伴们可以通过个人主页看到好友正在阅读的书、书架等等,有很多小伙伴不想让其他用户看到自己的阅读书架,该怎么将书架的书全部隐藏呢,下面就和点点一起来看看吧!
安卓手机众多的文件夹都代表什么?哪些可以删除,手机拍摄的照片视频在哪个位置?等等这些是否都寻在疑问呢?手机安装太多应用,使用空间逐渐减少,那么那些缓存文件该如何清除,哪些文件可以删除呢?看完接下来的你就懂了!
前段时间弄了下微信的dat图片的解码,有同学问数据库的解码怎么弄.. 发现微信数据库的数据格式是真的麻烦...