AES
即高级加密标准,典型AES的基本操作是把128比特明文在128比特密钥的作用下加密成128比特密文。
函数
在openssl/openssl-1.0.1c/crypto/aes/aes.h头文件中有AES加密相关函数的声明,如:
int AES_set_encrypt_key(const unsigned char *userKey,const int bits,AES_KEY *key);//设置加密密钥
int AES_set_decrypt_key(const unsigned char *userKey,const int bits,AES_KEY *key);//设置解密密钥
void AES_ecb_encrypt(const unsigned char *in,unsigned char *out,const AES_KEY *key);//ecb加密模式
void AES_cbc_encrypt(const unsigned char *in,unsigned char *out,size_t length,const AES_KEY *key,
unsigned char *ivec,const int enc);//cbc加密模式
...........................................
示例
使用ecb模式的AES加密数据,代码如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <openssl/aes.h>
int main(int argc,char *argv[])
{
AES_KEY aes;
//加密
unsigned char *userKey=