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

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

点点

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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
智能的东西现在越来越多了,很多软件都是分电脑版与手机版,电脑上安装微信怎样群发语音这个问题,第一因为电脑/网页版没有群发功能的,只能通过转发来实现。语音消息不支持转发,不管是手机上还是电脑上都不支持,但语音转换成文字后就可以转发了。
随着科技的快速发展,人工智能(AI)已经在各个领域大放异彩。其中,AI换脸技术以其独特的魅力引起了广泛的关注。这项技术主要运用深度学习算法,通过分析人脸的几何结构,将生成的模型映射到另一张人脸图像上,实现人脸的巧妙转换。
现在手机版微信软件有很多小伙伴们在使用,用来聊天,支付等,有的小伙伴在使用该软件时,想要赠送亲属卡给他人,来支付他人的支出,但是却不知道如何赠送,那么小编就来为小伙伴们介绍一下吧。
很多小伙伴们既想删好友但又舍不得聊天记录!小编也一样 ,下面就告诉小伙伴们如何删好友但保留聊天记录的方法。
手机现在是我们常用的工具,听音乐是免不了的,那在手机QQ音乐中,我们可以自由选择歌曲下载到手机本地,在离线状态时免费听歌,但是有部分用户发现自己找不到下载的歌曲在哪里,怎么找到下载的本地音乐,下面就和点点一起来看看吧!
听到好微信的音频,该如何去下载?视频可以去腾讯视频里搜视频名字,可以找得到视频页面链接。音频有两种:音乐就直接去后台搜,如果是录音的那种音频,用以下方法下载。免费保证百分百成功。
很多使用苹果手机的小伙伴们都会经常看到iCloud在手机中运行,不是所有的小伙伴都知道iCloud其实是用来恢复数据的。iCloud云备份如何恢复微信聊天记录?
QQ文件传到微信就比较麻烦了,不过我会详细步骤教大家如何操作的。