import { UapiMcpCore } from "../core.js"; import { RequestOptions } from "../lib/sdks.js"; import { APIError } from "../models/errors/apierror.js"; import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/errors/httpclienterrors.js"; import { SDKValidationError } from "../models/errors/sdkvalidationerror.js"; import { PostTextAesEncryptAdvancedRequest } from "../models/posttextaesencryptadvancedop.js"; import { APIPromise } from "../types/async.js"; import { Result } from "../types/fp.js"; /** * AES高级加密 * * @remarks * 需要更灵活的AES加密方案?这个高级接口支持6种加密模式和3种填充方式,让你根据具体场景选择最合适的加密配置。 * * > [!IMPORTANT] * > **推荐使用GCM模式** * > GCM模式提供认证加密(AEAD),不仅能加密数据,还能验证数据完整性,防止密文被篡改。这是目前最推荐的加密模式。 * * ## 功能概述 * 这是一个功能全面的AES加密接口,支持多种加密模式和填充方式。你可以根据不同的安全需求和性能要求,灵活选择合适的加密配置。 * * ### 支持的加密模式 * - **GCM模式**(推荐):认证加密模式,提供完整性保护 * - **CBC模式**:经典块加密模式,需要IV和填充,适用于文件加密 * - **CTR模式**:流密码模式,无需填充,适用于实时数据加密 * - **OFB/CFB模式**:流密码模式,无需填充,适用于流数据加密 * - **ECB模式**(不推荐):仅用于兼容性需求 * * ### 支持的填充方式 * - **PKCS7填充**(推荐):标准填充方式 * - **Zero填充**:使用0x00字节填充 * - **None填充**:无填充,用于流密码模式 * * ### 输出格式支持 * - **base64**(默认):标准Base64编码输出,适合传输和存储 * - **hex**:十六进制编码输出,方便与在线加密工具对比验证 * * 通过 `output_format` 参数可以直接获取HEX格式的密文,无需额外调用转换接口。 * * ## 参数说明 * - **`text`**: 待加密的明文文本 * - **`key`**: 加密密钥(支持任意长度) * - **`mode`**: 加密模式(可选,默认GCM) * - **`padding`**: 填充方式(可选,默认PKCS7) * - **`iv`**: 自定义IV(可选,Base64编码,16字节) * - **`output_format`**: 输出格式(可选,默认base64) * * ## 使用示例 * * **示例1:HEX格式输出** * ```json * { * "text": "测试文本123", * "key": "1234567890123456", * "mode": "ECB", * "padding": "PKCS7", * "output_format": "hex" * } * ``` * 返回示例: * ```json * { * "ciphertext": "aaaca6027da10918bb5d23d81939552c", * "mode": "ECB", * "padding": "PKCS7" * } * ``` * * **示例2:Base64格式输出(默认)** * ```json * { * "text": "测试文本123", * "key": "1234567890123456", * "mode": "ECB", * "padding": "PKCS7" * } * ``` * 返回示例: * ```json * { * "ciphertext": "qqymAn2hCRi7XSPYGTlVLA==", * "mode": "ECB", * "padding": "PKCS7" * } * ``` * * ## 技术规格 * - **加密算法**: AES-256 * - **编码格式**: Base64/HEX(输入/输出) * - **IV长度**: 16字节(128位) * - **版本标注**: v3.4.8+ * * > [!NOTE] * > **关于IV(初始化向量)** * > - GCM模式无需提供IV * > - CBC/CTR/OFB/CFB模式可选提供IV * > - ECB模式不使用IV * > - 建议每次加密使用不同的IV以确保安全性 * * > [!TIP] * > **关于输出格式** * > - 如需与在线加密工具(如 toolhelper.cn)对比结果,建议使用 `output_format: "hex"` * > - Base64格式更适合网络传输和API调用 * > - 两种格式可以相互转换,数据完全一致 */ export declare function textPostTextAesEncryptAdvanced(client$: UapiMcpCore, request: PostTextAesEncryptAdvancedRequest, options?: RequestOptions): APIPromise>; //# sourceMappingURL=textPostTextAesEncryptAdvanced.d.ts.map