aes加密算法c语言代码
时间: 2023-09-03 14:12:13 浏览: 117
下面是使用 OpenSSL 库的 AES 加密算法 C 语言代码示例:
```
#include <openssl/aes.h>
#include <string.h>
void encrypt(const unsigned char *in, unsigned char *out, const AES_KEY *key) {
AES_encrypt(in, out, key);
}
void decrypt(const unsigned char *in, unsigned char *out, const AES_KEY *key) {
AES_decrypt(in, out, key);
}
int main() {
AES_KEY key;
unsigned char *msg = (unsigned char *)"hello world";
unsigned char *enc_msg = malloc(strlen(msg) + 1);
unsigned char *dec_msg = malloc(strlen(msg) + 1);
memset(enc_msg, 0, strlen(msg) + 1);
memset(dec_msg, 0, strlen(msg) + 1);
unsigned char iv[AES_BLOCK_SIZE];
memset(iv, 0, AES_BLOCK_SIZE);
AES_set_encrypt_key((unsigned char *)"mykey1234567890", 128, &key);
encrypt(msg, enc_msg, &key);
AES_set_decrypt_key((unsigned char *)"mykey1234567890", 128, &key);
decrypt(enc_msg, dec_msg, &key);
printf("Original message: %s\n", msg);
printf("Encrypted message: %s\n", enc_msg);
printf("Decrypted message: %s\n", dec_msg);
free(enc_msg);
free(dec_msg);
return 0;
}
```
在这个例子中,我们使用了 OpenSSL 库中的 AES 函数。首先,我们定义了一个 `encrypt` 和 `decrypt` 函数来加密和解密消息。然后,我们创建了一个 AES_KEY 对象并使用 `AES_set_encrypt_key` 函数来设置加密密钥。接下来,我们使用 `encrypt` 函数来加密消息,然后使用 `AES_set_decrypt_key` 函数设置解密密钥并使用 `decrypt` 函数来解密消息。最后,我们打印出原始消息,加密消息和解密消息。
阅读全文
相关推荐
















