UNPKG

wx-ding-aes

Version:

Wechat open platform, Enterprise wechat and DingTalk AES decode library.

30 lines (29 loc) 972 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * parser 模块,用于解析服务器发来的密文 * @module parser */ const crypto_1 = require("crypto"); const pkcs = require("./pkcs7"); exports.encrypt = (data, encodingAESKey) => { const AESKey = Buffer.from(encodingAESKey, 'base64'); const iv = AESKey.slice(0, 16); const cipher = crypto_1.createCipheriv('aes-256-cbc', AESKey, iv); cipher.setAutoPadding(false); return Buffer .concat([ cipher.update(pkcs.encode(data)), cipher.final() ]).toString('base64'); }; exports.decrypt = (data, encodingAESKey) => { const AESKey = Buffer.from(encodingAESKey, 'base64'); const iv = AESKey.slice(0, 16); const decipher = crypto_1.createDecipheriv('aes-256-cbc', AESKey, iv); decipher.setAutoPadding(false); return pkcs.decode(Buffer.concat([ decipher.update(data, 'base64'), decipher.final() ])); };