aes加密字符串 c语言
时间: 2023-11-06 20:05:31 浏览: 105
AES加密算法是一种对称加密算法,它可以对数据进行加密和解密。在C语言中,我们可以使用AES加密算法对字符串进行加密。下面是一个简单的示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <openssl/aes.h>
int main(int argc, char *argv[])
{
AES_KEY aes_key;
unsigned char key[AES_BLOCK_SIZE] = "0123456789abcdef";
unsigned char iv[AES_BLOCK_SIZE] = "abcdef0123456789";
unsigned char input[] = "Hello, world!";
unsigned char output[sizeof(input)];
int input_len = strlen(input);
AES_set_encrypt_key(key, 128, &aes_key);
AES_cbc_encrypt(input, output, input_len, &aes_key, iv, AES_ENCRYPT);
printf("Encrypted: ");
for (int i = 0; i < input_len; i++) {
printf("%02x", output[i]);
}
printf("\n");
return 0;
}
```
在这个示例代码中,我们使用了OpenSSL库中的AES加密算法。首先,我们定义了一个128位的密钥和一个16字节的初始化向量。然后,我们定义了一个待加密的字符串,并计算出它的长度。接下来,我们使用AES_set_encrypt_key函数设置加密密钥,并使用AES_cbc_encrypt函数对字符串进行加密。最后,我们将加密后的结果输出到控制台。
需要注意的是,这个示例代码只是一个简单的示例,实际使用中需要根据具体需求进行修改和完善。
阅读全文