ios 使用openssl进行aes-gcm加密,加密的数据是空的是为什么
时间: 2024-02-17 17:05:27 浏览: 259
可能是因为您没有正确地初始化 AES-GCM 上下文、密钥、IV 或输入数据。请检查以下几点:
1. 检查是否已正确设置 OpenSSL 环境并正确编译了 OpenSSL 库。
2. 确保您已正确初始化 AES-GCM 上下文和密钥。您可以使用以下代码片段创建 AES-GCM 上下文和密钥:
```
EVP_CIPHER_CTX *ctx;
unsigned char key[16] = { /* your key */ };
unsigned char iv[12] = { /* your IV */ };
int keylen = 16;
ctx = EVP_CIPHER_CTX_new();
EVP_EncryptInit_ex(ctx, EVP_aes_128_gcm(), NULL, NULL, NULL);
EVP_EncryptInit_ex(ctx, NULL, NULL, key, iv);
```
3. 确保您已正确设置输入数据。您可以使用以下代码片段将数据输入到 AES-GCM 上下文中:
```
unsigned char plaintext[256] = { /* your data */ };
unsigned char ciphertext[256 + EVP_CIPHER_block_size(EVP_aes_128_gcm())];
int len;
EVP_EncryptUpdate(ctx, ciphertext, &len, plaintext, sizeof(plaintext));
```
请注意,您需要根据您的情况更改上述代码片段中的变量和值。
如果您仍然遇到问题,请提供更多信息以便我能够帮助您解决问题。
阅读全文