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

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

点点

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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
这几天电信发生的大面积网络不能使用的问题,很多小伙伴在正常能上网时上不去,网络对于手机来说是至关重要的,有些小伙伴在使用iPhone手机的时候偶尔遇到无法上网问题,不知道如何解决,接下来小编就给小伙伴们介绍一下具体的操作步骤。
云端恢复微信聊天记录,现在的手机都是支持云端数据的,对于部分手机来说,内存不足可能就需要来备份,备份后如何后期查看,接下来就让小编带着小伙伴们一起去看看有关微信云端恢复聊天记录的相关消息。
日常生活中,我们可能会换手机,但手机号基本上是不会换的,那怎样把旧手机的微信聊天记录迁移到新的手机上。请看下边操作,让你快速上手。解决问题!
手机已经成为我们必备的生活工具,如果遇到需要将几张图片拼合在一起的情况时,用手机应该使用什么应用可以达到效果呢,怎么把几张图片拼合成一张照片呢,具体该怎么操作,下面就和小编一起来看看吧!
苹果手机微信语音没声音怎么办呢?很多用户对此还不是很清楚, 有很多小伙伴私信点点,点点这里就教给小伙伴们,苹果系统手机微信语音没声音的简单处理方法,希望能够对小伙伴们有所帮助。
公司报销的时候虽然已经有了电子发票,但是贴票还是需要将发票打印出来贴上,如果只有一两张也就算了,如果几十张.. 找了好多工具、在线版本都不合心意,做个自己喜欢的吧。
现在智能化的时代,每个家庭基本都会用到电脑与手机平板等,需要上网就需要有ip地址,哪本地ip说的就是自己操作电脑平板手机等当前所使用的网络ip,每一个用户的ip都是唯一的,那么本地ip具体该如何查看呢?
现如今智能手机中华为手机成为了主流之一,用华为手机如何保存微信聊天记录?在华为帐号里面,进入到云备份功能,选择好要恢复的微信数据,进行恢复成功即可恢复微信聊天记录。