OpenSSL_AES加密库API功能

来源:互联网 发布:对阿里云的理解 编辑:程序博客网 时间:2024/05/01 19:35

1、const char *AES_options(void);

AES算法状态,是全部支持或者是部分支持。返回值:“aes(full)” 或者"aes(partial)"

2、int AES_Set_Encrypt_Key(const unsigned char *userKey, const int bits,AES_KEY *key);

设定加密用的Key;
userKey: 密钥数值;
bits:密钥长度,以bit为单位,如果密钥数字是16个字节,则此参数值应为128;
key: AES_KEY对象指针;

返回值: 0 成功, -1 userkey,key为空, -2: 密钥长度不是128,192,256;

3、int AES_Set_Decrypt_Key(const unsigned char *userKey, const int bits,AES_KEY *key);

设定解密用的Key;
userKey: 密钥数值;
bits:密钥长度,以bit为单位,如果密钥数字是16个字节,则此参数值应为128;
key: AES_KEY对象指针;

返回值: 0 成功, -1 userkey,key为空, -2: 密钥长度不是128,192,256;

4、void AES_Encrypt(const unsigned char *in, unsigned char *out,const AES_KEY *key);

AES 加密,加密单个数据块,in,out可以是同一内存区;
in: 需要加密的数据;
out: 加密后的数据;
key:AES 密钥;

5、void AES_Decrypt(const unsigned char *in, unsigned char *out,const AES_KEY *key);

AES 解密,解密单个数据块,in,out可以是同一内存区;
in: 需要解密的数据;
out: 解密后的数据;
key:AES 密钥;

6、void AES_ecb_encrypt(const unsigned char *in, unsigned char *out,    const AES_KEY *key, const int enc);

AES加密/解密单个数据块,ECB模式
in: 需要加密/解密的数据;
out: 计算后输出的数据;
key:密钥
enc: AES_ENCRYPT 代表加密, AES_DECRYPT代表解密;

7、void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,   size_t length, const AES_KEY *key,    unsigned char *ivec, const int enc);

AES加密/解密单个数据块,CBC模式
in: 需要加密/解密的数据;
out: 计算后输出的数据;
length: 数据长度
key:密钥
ivec: 初始向量
enc: AES_ENCRYPT 代表加密, AES_DECRYPT代表解密;

0 0
原创粉丝点击