I am working with OpenSSL to try and get the SHA512 Hash
function to work. When I am writing the code, Visual Studio's intellisense finds the
function SHA512
as well as all of the parameters that are
included with it, but when I go to build the project, I get the error, "unresolved
external symbol SHA512 referenced in function main." Here is what I have so far, it's
based on a small example href="http://www.askyb.com/cpp/openssl-sha512-hashing-example-in-cpp/" rel="nofollow
noreferrer">here.
stdafx.h
//
stdafx.h : include file for standard system include files,
// or project
specific include files that are used frequently, but
// are changed
infrequently
//
#pragma
once
#include "targetver.h"
#include
#include
#define
_ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be
explicit
#define _AFX_NO_MFC_CONTROLS_IN_DIALOGS // remove support for MFC
controls in dialogs
#ifndef
VC_EXTRALEAN
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows
headers
#endif
#include
#include
// MFC core and standard components
#include
// MFC extensions
#ifndef _AFX_NO_OLE_SUPPORT
#include
// MFC support for Internet Explorer 4 Common
Controls
#endif
#ifndef
_AFX_NO_AFXCMN_SUPPORT
#include // MFC support for Windows
Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
#include
// TODO: reference
additional headers your program requires here
#include
test.cpp
#include
"stdafx.h"
#include
#include
int main() {
unsigned char digest[SHA512_DIGEST_LENGTH];
char string[] = "hello
world";
SHA512((unsigned char*)&string, strlen(string),
(unsigned char*)&digest);
char mdString[SHA512_DIGEST_LENGTH *
2 + 1];
for (int i = 0; i < SHA512_DIGEST_LENGTH;
i++)
sprintf(&mdString[i * 2], "%02x", (unsigned
int)digest[i]);
printf("SHA512 digest: %s\n",
mdString);
return
0;
}
I have
even checked and confirmed that SHA512 is in the sha.h file that is included in the
stdafx.h file as well.
No comments:
Post a Comment