微信小程序客服消息解密
2018-01-19 15:59
405 查看
const crypto = require('crypto'); const decodePKCS7 = function (buff) { let pad = buff[buff.length - 1]; if (pad < 1 || pad > 32) { pad = 0; } return buff.slice(0, buff.length - pad); }; // 微信转发客服消息解密 const decryptContact = function (key, iv, crypted) { const aesCipher = crypto.createDecipheriv('aes-256-cbc', key, iv); aesCipher.setAutoPadding(false); let decipheredBuff = Buffer.concat([aesCipher.update(crypted, 'base64'), aesCipher.final()]); decipheredBuff = decodePKCS7(decipheredBuff); const lenNetOrderCorpid = decipheredBuff.slice(16); const msgLen = lenNetOrderCorpid.slice(0, 4).readUInt32BE(0); const result = lenNetOrderCorpid.slice(4, msgLen + 4).toString(); return result; };
// 解密微信返回给配置的消息服务器的信息 const decryptWechatRes = function (wechatData) { const key = new Buffer(CFG.mina.contactEncodingAESKey + '=', 'base64'); const iv = key.slice(0, 16); const result = decryptContact(key, iv, wechatData); const decryptedResult = JSON.parse(result); console.log(decryptedResult); return decryptedResult; };
相关文章推荐
- 微信小程序--客服消息使用指南
- 原创:【微信小程序】客服消息教程(后台以PHP示例)
- 浅谈微信小程序之客服消息
- 微信小程序客服消息实现
- 【微信小程序】:客服消息教程
- 微信小程序客服消息使用
- 微信小程序客服消息按钮太小解决方法contact-button
- 微信小程序客服消息相关(客服按钮修改)
- 微信小程序调查报告(五)接入客服消息
- 原创:微信小程序java实现AES解密并获取unionId
- 微信小程序之获取并解密用户数据(获取openId、unionId)
- 微信小程序 自定义消息提示框
- 微信公共服务平台开发(.Net 的实现)11-------客服消息(定项消息推送 重要的OPENID)
- 【微信小程序】发送消息模板教程
- 微信小程序-消息提示框
- php调用微信客服消息接口给用户发送信息
- C#开发微信门户及应用(21)-微信企业号的消息和事件的接收处理及解密
- 微信开发之客服消息的使用
- 小程序端JS加密,传输PHP端解密--微信小程序联盟