Openssl Evp接口以及EVP_DecryptFinal使用细节
前几日在使用openssl-aes加密的时候,遇到一些问题(卡在EVP_DecryptFinal),总结一下Evp接口和自己问题可能解决方法。
Openssl Evp
Openssl对各种对称加密或其他加密算法均提供一套API,而Evp这个接口就是把各种算法的接口统一起来。
Evp 加密流程如下
初始化部分
EVP_CIPHER_CTX *x= (EVP_CIPHER_CTX*)malloc(sizeof(EVP_CIPHER_CTX));
EVP_CIPHER_CTX_init(x);
EVP_CIPHER_CTX与加解密相关的结构体存储加解密过程的相关信息。
int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, unsigned char *key, unsigned char *iv);