未定义的MD5引用(来自OpenSSL)

时间:2018-03-28 04:10:26

标签: c++ openssl cryptography md5

我得到了Code :: Blocks,我在Windows上从源代码构建了OpenSLL。我包括头文件(openssl \ include)和lib文件(openssl \ lib \ libcrypto.lib,openssl \ lib \ libssl.lib)。但是当我构建应用程序时,它会收到一条错误,指出对MD5的未识别引用(第5行:MD5((unsigned char*)string, strlen(string), (unsigned char*)&digest); )。为什么会发生这种情况?我该如何解决?

代码:

string DoMD5(string s){
    unsigned char digest[MD5_DIGEST_LENGTH];

    char const *string = s.c_str();
        MD5((unsigned char*)string, strlen(string), (unsigned char*)&digest);

    char mdString[33];

    for(int i = 0; i < 16; i++)
         sprintf(&mdString[i*2], "%02x", (unsigned int)digest[i]);

   // printf("i: %s o: %s\n", string,mdString);
    return mdString;

}

我在2017年11月2日使用OpenSSL 1.1.0g 我使用Code :: Blocks作为IDE。

0 个答案:

没有答案