#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <stdlib.h>
#include <unistd.h>
#include <openssl/aes.h>
//g++ -g -o -Wall -m64 AesTest AesTest.cpp -lssl -lcrypto
//g++ -g -o -Wall AesTest AesTest.cpp -lssl -lcrypto
int main(int argc, char **argv)
{//由于与直接对接用的char,那么加解密要强制转换
char Source[1024];
char *InputData=NULL;
char *EncryptData=NULL;
char *DecryptData=NULL;
unsigned char Key[AES_BLOCK_SIZE+1]; //建议用unsigned char
unsigned char ivec[AES_BLOCK_SIZE]; //建议用unsigned char
AES_KEY AesKey;
int DataLen=0,SetDataLen=0, i;
memset(Source, 0x00, sizeof(Source));
strcpy(Source, "1234567890abcde"); //要加密的数据
DataLen = strlen(Source);
memset(Key, 0x00, sizeof(Key));
memcpy(Key, "0123456789abcdef&
使用openssl的aes各种加密算法
最新推荐文章于 2024-10-05 00:55:51 发布
这个博客展示了如何使用OpenSSL库进行AES加密和解密操作。通过C++代码示例,作者演示了AES_CBC模式的加密和解密过程,强调了数据长度必须是AES_BLOCK_SIZE的倍数,并提到了OpenSSL支持的其他加密算法和散列函数。
摘要由CSDN通过智能技术生成