openssl EVP详解
EVP(Enveloped Public Key)是 OpenSSL 中用于提供对称加密、非对称加密和哈希功能的高级加
密接口。EVP 库提供了一个抽象的加密框架,使得可以在不同的算法实现之间进行切换,而不需要改变应用程序的代码。以下是一些 EVP 开发的主要方面:
一、EVP基本介绍
1. EVP 加密和解密
EVP 提供了通用的加密和解密函数,可以用于对称加密和非对称加密。一般的流程如下:
- 选择加密算法,创建相应的
EVP_CIPHER
结构。 - 初始化
EVP_CIPHER_CTX
上下文。 - 使用
EVP_EncryptInit_ex
或EVP_DecryptInit_ex
初始化加密或解密操作。 - 使用
EVP_EncryptUpdate
或EVP_DecryptUpdate
处理数据。 - 使用
EVP_EncryptFinal_ex
或EVP_DecryptFinal_ex
完成加密或解密操作。
EVP_CIPHER_CTX