1.3 CIPHER_CTX操作
EVP_CIPHER_CTX_init
函 数 名: void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *ctx);
功能描述: 初始化EVP_CIPHER_CTX
说 明: EVP_CIPHER_CTX数据全置零
参数说明:
ctx (in/out) EVP_CIPHER_CTX
返 回 值: -
EVP_CIPHER_CTX_cleanup
函 数 名: int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *ctx);
功能描述: 反初始化EVP_CIPHER_CTX
说 明: 清除EVP_CIPHER_CTX内所有数据,并置零
参数说明:
ctx (in/out) EVP_CIPHER_CTX
返 回 值: -
EVP_CIPHER_CTX_new
函 数 名: EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void);
功能描述: 创建EVP_CIPHER_CTX
说 明: malloc后调用EVP_CIPHER_CTX_init
参数说明:
无
返 回 值: 非NULL[创建的EVP_CIPHER_CTX],NULL[失败]
EVP_CIPHER_CTX_free
函 数 名: void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx)
功能描述: 销毁EVP_CIPHER_CTX
说 明: 调用EVP_CIPHER_CTX_cleanup后free。
参数说明:
ctx (in/out) EVP_CIPHER_CTX
返 回 值:
EVP_CIPHER_CTX_set_key_length
函 数 名: int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen);
功能描述: 设置算法密钥长度
说 明: 可能调用 EVP_CIPHER_CTX_ctrl( ) 函数
参数说明:
x (in/out) 对称算法封装数据
keylen (in) 密钥长度
返 回 值: 1[成功],<=0[失败]
EVP_CIPHER_CTX_ctrl
函 数 名: int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr);
功能描述: 设置控制参数
说 明: -
参数说明:
c (in/out) 对称算法封装数据
type (in) 控制参数类型
arg (in) 控制参数(整形)
ptr (in) 控制参数(指针)
返 回 值: 1[成功],<=0[失败]
EVP_CIPHER_CTX_set_padding
函 数 名: int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c, int pad);
功能描述: 设置是否进行填充
说 明: 参数pad为BOOL型
参数说明:
c (in/out) 对称算法封装数据
pad (in) 是否进行填充
返 回 值: 1[成功],<=0[失败]
EVP_CIPHER_CTX_rand_key
函 数 名: int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *c, unsigned char *key);
功能描述: 生成随机密钥
说 明: -
参数说明:
c (in/out) 对称算法封装数据
key (out) 生成的随机密钥
返 回 值: 1[成功],<=0[失败]