动态调用加密DLL,PB可以正常加密解密,CB不能解开PB的密文,返回值总是空!
动态调用加密DLL,PB可以正常加密解密,CB不能解开PB的密文,返回值总是空!
什么问题呀??CB的调用代码
String __stdcall (*DesDe)(PChar,PChar);
HINSTANCE hinstLib = LoadLibrary( "加密.dll ");
(FARPROC&)DesDe = GetProcAddress(hinstLib, "DesDe ");
if(DesDe != NULL)
{
End_Str = DesDe(Source.c_str(),Key.c_str());
}
FreeLibrary(hinstLib);
End_Str 一直为NULL!PB正常!
[解决办法]
不清楚这个DesDe是什么算法,你这样试试:
LPSTR __stdcall (*DesDe)(LPSTR, LPSTR);
char *lpSrc = "123456 ";
char *lpKey = "abcdef ";
HINSTANCE hinstLib = LoadLibrary( "加密.dll ");
(FARPROC&)DesDe = GetProcAddress(hinstLib, "DesDe ");
if(DesDe != NULL)
{
ShowMessage(DesDe(lpSrc, lpKey));
}
FreeLibrary(hinstLib);