111,129
社区成员
发帖
与我相关
我的任务
分享
HINSTANCE LibHandle;
LibHandle = LoadLibrary(_T("3Des.dll"));
App->decryptFun = (DecryptFunPtr) GetProcAddress(LibHandle, ("RunDes"));
BYTE szKey1[9] = {"miyue001"};//密钥1
BYTE szKey2[9] = {"miyue002"};//密钥2
BYTE szIn[1024] = {'\0'};
BYTE szOut[1024] = {'\0'};
memcpy(szIn,"1234",4);//加密的内容
App->ecryptFun(false,szIn,4,szOut,szKey1,szKey2);//加密
memset(szIn,0,1024);
App->ecryptFun(true,szOut,8,szIn,szKey1,szKey2); //解密
//MFC调用加密后在解密,得出的明文正确(1234)!
[DllImport("3DES.dll", EntryPoint = "RunDes")]
unsafe public static extern bool RunDes(bool bType, String strIn, int inLen, Byte[] strOut, String strKey, String strSubKey);
String msg;
String test = "1234";
String key = "miyue001";
String SubKey = "miyue001";
Byte[] testStr = new Byte[8];
bool rt = RunDes(false, test, 4,testStr, key, SubKey);//加密!为何testStr与MFC调用加密的密文不一致,调用的都是同一个DLL呀!