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

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

点点

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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
手机内存越用越少?不敢删除怕误删除重要文件?128G内存可用空间仅有10G?学会这招,轻松给手机腾出至少10G空间。一招致敌,唔好哈。手机微信的内存占比也是很大的,下面跟点点看一下微信dat文件是怎么删除的。在微信的聊天中会占用大量的内存,而最大的占比要数图片和视频,下面点点带小伙伴一起看一下,各个文件的作用,自清理时以免把重要资料删除。
微信是目前非常流行的社交软件,相信小伙伴们在目前的生活以及工作中,一定已经变成了必不可少的一款工具吧。而在使用微信进行聊天沟通时,添加好友也成为了和新朋友进行沟通前所必须要做的一件事情。
简单的设置,搞定烦恼!我当前想发一条朋友圈,不想让A君、B君、C君看到,好友圈里的其他人都能看到! 说白了就是只想让他们看不到当前所发的这条朋友圈,其它时候发的朋友圈他们都能看到,该如何设置?
我们日常必备的聊天工具微信,在使用的时候也有误删人的情况出现,这个时候小伙伴们知道怎么悄悄的将删除的人加回来呢?最快将删除的人加回来的方法有哪些呢?
小伙伴们说起QQ应该没有不知道的吧,作为国内最常使用的即时通讯软件之一,QQ仍然还是很多小伙伴们日常交友聊天的必用软件。但如果是在电脑上使用QQ接收文件,这些接收的QQ文件在电脑哪个文件夹中呢?
当我们在使用微信的时候,通常会拉黑对我们不友好的好友,但是因为一些误会我们想要把好友从微信黑名单中解除,但是因为微信的不断更新,很多用户找不到黑名单,所以想要知道微信黑名单怎么解除?
生活中,微信是我们必备的软件,那么微信铃声主要在来新消息、语音/视频通话时提醒我们,可以通过设置来修改铃声,可以自定义铃声,或者使用官方提供的铃声,那具体怎么设置呢?下面就和点点一起来看看吧!
在开发过程中,分页是必不可少的,封装了一个分页组件,样式是基于bootstrap的样式