【发布时间】:2021-07-08 15:42:26
【问题描述】:
我正在使用 OpenSSL 文档中的模板并收到以下错误。尝试使用 init 的替代方法也不起作用。我正在使用 openssl 版本 1.1.1(通过命令 openssl version 检查)
错误:“EVP_MD_CTX_new”未在此范围内声明错误
注意:建议的替代方案:“EVP_MD_CTX_init”
“EVP_MD_CTX_free”未在此范围内声明
void digest_message(const unsigned char *message, size_t message_len, unsigned char **digest, unsigned int *digest_len)
{
EVP_MD_CTX *mdctx;
if((mdctx = EVP_MD_CTX_create()) == NULL)
printf("error while hahsing");
// handleErrors();
if(1 != EVP_DigestInit_ex(mdctx, EVP_sha256(), NULL))
printf("error while hahsing");
if(1 != EVP_DigestUpdate(mdctx, message, message_len))
printf("error while hahsing");
if((*digest = (unsigned char *)OPENSSL_malloc(EVP_MD_size(EVP_sha256()))) == NULL)
printf("error while hahsing");
if(1 != EVP_DigestFinal_ex(mdctx, *digest, digest_len))
printf("error while hahsing");
EVP_MD_CTX_destroy(mdctx);
}
【问题讨论】: