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

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

点点

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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
最近有没有发现微信的个人帐号新用户无法注册啦?进来看看就知道原因啦!
随着电脑的普及,越来越多的家庭都使用它,随着系统使用的时间,系统的运行速度也会越来越慢,怎么提高电脑运行速度呢?本文为小伙伴们介绍一些清理电脑的方法。
现如今手机成为了每个人的必备之物,随着现在的手机越来越智能,手机的功能越来越多,但是手机的内存越永远也跟不上我们使用的节奏,因为手机的内存越大意味着价格也就越高,就算是再大的内存,也会有使用到不足的时候,而当手机的内存不够用的时候,我们往往就会清理手机里存储的大量照片。
安卓手机众多的文件夹都代表什么?哪些可以删除,手机拍摄的照片视频在哪个位置?等等这些是否都寻在疑问呢?手机安装太多应用,使用空间逐渐减少,那么那些缓存文件该如何清除,哪些文件可以删除呢?看完接下来的你就懂了!
有个小功能需要一些基础数据,想着把这些数据爬一些下来做为基础数据使用的。本来还想着直接反编译小程序的,没想到它变更了加密方式,以前反编译的路子走不通了,尝试抓下数据看能不能拿到了。
随着智能手机的普及,聊天工具的普及,现代人越来越喜欢在手机上聊天,尤其是在微信上的聊天,倘若我们想要在微信聊天记录中找先前发过的图片和视频,如果一次一次往上划聊天记录,那肯定是一个很漫长的过程,那么小编就在这儿给小伙伴们介绍一个怎样在微信中快速找到聊天记录中的图片及视频记录的方法。
对于初级用户来说,可能还没有认识到无线加密的重要性,在不加密的无线网络里,不仅你的网络带宽会被侵占,而且你的个人网络信息也可能遭受泄露,因此一定要使用正确的加密方式来保障无线网络安全,降低风险。那么路由器如何安全设置?下面小编就为小伙伴们介绍路由器安全设置方法,这样设置路由99.9%的黑客都攻不破,一起来看看吧!
公司报销的时候虽然已经有了电子发票,但是贴票还是需要将发票打印出来贴上,如果只有一两张也就算了,如果几十张.. 找了好多工具、在线版本都不合心意,做个自己喜欢的吧。