AES解密 - AESDecryptEx
函数简介
AES解密,支持多种加密模式和填充类型。
接口名称
AESDecryptEx
DLL调用
long AESDecryptEx(long instance, string source, string key, string iv, int mode, int paddingType);
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| instance | 长整数型 | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。 |
| source | 字符串 | 源数据。 |
| key | 字符串 | 密钥。 |
| iv | 字符串 | 初始向量。 |
| mode | 整数型 | 加密模式:0-CBC;1-ECB;2-CFB;3-OFB;4-CTS。 |
| paddingType | 整数型 | 填充类型:0-PKCS7;1-Zeros;2-AnsiX923;3-ISO10126;4-NoPadding。 |
示例
C++
long instance = CreateCOLAPlugInterFace();
// 先加密
long encPtr = AESEncryptEx(instance, "Hello OLA", "1234567890abcdef", "abcdef1234567890", 0, 0);
char* encrypted = GetStringFromPtr(encPtr);
// AES-CBC模式解密,PKCS7填充(参数需与加密时一致)
long decPtr = AESDecryptEx(instance, encrypted, "1234567890abcdef", "abcdef1234567890", 0, 0);
char* decrypted = GetStringFromPtr(decPtr); // "Hello OLA"
FreeStringPtr(encPtr);
FreeStringPtr(decPtr);
Python
# 待补充
返回值
成功返回解密后的数据的字符串指针;失败返回0。返回的字符串指针需要调用 FreeStringPtr 接口释放内存。
注意事项
- 解密时使用的加密模式和填充类型必须与加密时一致。
