我已成功将openssl
dev库集成到main.cpp
文件中。目前包含openssl/evp.h
。
我可以成功使用EVP_DigestInit
,EVP_DigestUpdate
个函数而不会出现任何错误。但是,如果我尝试拨打EVP_DigestFinal
,则会出现以下错误:
No matching function for call to 'EVP_DigestFinal'
然而,函数在同一个头文件evp.h
中定义。我该怎么办才能使用这个功能呢?谢谢你的帮助。
相关代码:
EVP_MD_CTX ctx;
char ch[128];
int val = 128;
EVP_DigestFinal(&ctx, ch, val);
答案 0 :(得分:1)
我在OpenSSL.org找到的签名是
int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md, int *s);
要匹配第二个参数需要unsigned char
和第三个参数的地址,比如
EVP_MD_CTX ctx;
unsigned char ch[128];
_______^
int val = 128;
EVP_DigestFinal(&ctx, ch, &val);
__________________________^