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);
做此ctx结构体的加密初始化
ctx (cipher conte

本文介绍了OpenSSL的EVP接口,重点讲解了EVP加密流程,包括初始化、设置padding、加密过程以及EVP_DecryptFinal的使用。详细阐述了在不同填充模式下加密和解密的处理方式,特别是在最后一块数据的加密处理,强调了EVP_DecryptFinal在解密过程中的重要性和可能出现的问题。
最低0.47元/天 解锁文章
1181





