评论

【AES.CBC解码】不使用CryptoJS 进行敏感数据解密

不使用CryptoJS 进行敏感数据解密

代码片段地址: https://developers.weixin.qq.com/s/vhKBMam47weB


重要!为了信息安全,还是建议将解密过程放至服务端!


解码过程:


1.获取必需变量:

encryptedData,iv: 通过phone 或者 userInfo的相关接口获得

sessionKey : 通过wx.login 获得的code 再通过服务端api获得

(一定得是获取encryptedData的前一个login获取到的没有过期的key才有效,是否过期可调用 wx.checkSession 判断)

2.引入解密库文件 aes.cbc.min.js ( /lib/aes.cbc.min.js )。

3.使用index.js( /index/index.js )中的decode方法解密,若返回为对象即解密成功。


文件说明:


aes.cbc.min.js : 里面封装了两个库,一个是 开源的base64库 ,一个是 aes库 不过把其他不是cbc的mode删掉了。


假若返回值为 false,错误排除思路:


① sessionKey是否过期 。

atob(iv) atob(key)出来的长度是否为16 。

③ 是否开启了代码混淆导致文件引入失败。


我是大自然的搬运工,新年快乐!

最后一次编辑于  2020-01-06  
点赞 0
收藏
评论
登录 后发表内容