typed-wx-api
Version:
Typed Wechat API
52 lines (51 loc) • 2.05 kB
TypeScript
/// <reference types="node" />
import { APIBase } from './api_base';
/**
* @internal
*/
export declare abstract class APICrypto extends APIBase {
private cryptoConfig;
/**
* AES算法pkcs7 padding Decoder
* @param buff 需要解码的Buffer
* @returns {Blob|ArrayBuffer|Array.<T>|string|*}
* @constructor
*/
pkcs7Decoder(buff: Buffer): Buffer;
/**
* AES算法pkcs7 padding Encoder
* @param buff 需要编码码的Buffer
* @returns {Blob|ArrayBuffer|Array.<T>|string|*}
* @constructor
*/
pkcs7Encoder(buff: Buffer): Buffer;
/**
* 初始化AES解密的配置信息
* @param corpId 企业微信的corpId,当为第三方套件回调事件时,corpId的内容为suiteId
* @param token 企业微信的token,当为第三方套件回调事件时,token的内容为套件的token
* @param encodingAESKey 企业微信的encodingAESKey,当为第三方套件回调事件时,encodingAESKey的内容为套件的encodingAESKey
*/
initCrypto(corpId: string, token: string, encodingAESKey: string): void;
/**
* 生成签名
* @param timestamp String|Number 时间戳
* @param nonce String 随机串
* @param encrypt String 加密的数据
* @returns {*} String 排好序的签名
*/
rawSignature(timestamp: number, nonce: string, encrypt: string): string;
/**
* 对给定的消息进行AES加密
* @param msg String 需要加密的明文
* @param corpId 可选 需要对比的corpId,如果第三方回调时默认是suiteId,也可自行传入作为匹配处理
* @returns {string} 加密后的结果
*/
encrypt(message: string, corpId: string): string;
/**
* 对给定的密文进行AES解密
* @param str 需要解密的密文
* @param corpId 可选 需要对比的corpId,如果第三方回调时默认是suiteId,也可自行传入作为匹配处理
* @returns {string} 解密后的结果
*/
decrypt(str: string, corpId: string): string;
}