加密算法有很多种,这里我简单介绍一种对称加密算法——AES(Advanced Encryption Standard)
首先,需要包含头文件和链接库:
```c
include
include
```
然后,生成一个随机的AES密钥:
c
AES_KEY key;
AES_set_encrypt_key(RAND_bytes(keylen), &key);
其中,keylen
是密钥的长度,可以是128、192或256位。
接下来,使用AES加密数据:
c
AES_encrypt(const unsigned char * plaintext, unsigned char * ciphertext, const AES_KEY * key) {
AES_cbc_encrypt(plaintext, ciphertext, strlen((unsigned char *)plaintext), &key, NULL, AES_ENCRYPT);
}
其中,plaintext
是要加密的数据,ciphertext
是加密后的数据。
***使用AES解密数据:
c
AES_decrypt(const unsigned char * ciphertext, unsigned char * plaintext, const AES_KEY * key) {
AES_cbc_encrypt(ciphertext, plaintext, strlen((unsigned char *)ciphertext), &key, NULL, AES_DECRYPT);
}
其中,ciphertext
是加密后的数据,plaintext
是解密后的数据。
以上是一个简单的AES加密和解密的示例代码,实际使用时需要根据具体情况进行调整。