/** * WeChat 媒体加解密 * * AES-128-ECB 加密,用于 CDN 上传/下载 */ import type { WeixinCredentials, MessageItem } from './weixin-types.js'; /** * 生成随机 16 字节 AES 密钥 */ export declare function generateMediaKey(): Buffer; /** * AES-128-ECB 加密(PKCS7 填充) */ export declare function encryptMedia(data: Buffer, key: Buffer): Buffer; /** * AES-128-ECB 解密(PKCS7 去填充) */ export declare function decryptMedia(data: Buffer, key: Buffer): Buffer; /** * 计算填充后密文大小 */ export declare function aesEcbPaddedSize(plaintextSize: number): number; /** * 从 CDN 下载并解密媒体 */ export declare function downloadAndDecryptMedia(cdnUrl: string, aesKey: Buffer, label?: string): Promise; /** * 从消息项下载媒体 */ export declare function downloadMediaFromItem(item: MessageItem, cdnBaseUrl: string): Promise<{ data: Buffer; mimeType: string; filename: string; } | null>; /** * 加密并上传媒体到 CDN */ export declare function uploadMediaToCdn(creds: WeixinCredentials, data: Buffer, filename: string, mediaType: number): Promise<{ encryptQueryParam: string; aesKeyBase64: string; cipherSize: number; }>; //# sourceMappingURL=weixin-media.d.ts.map