📄 xsecu.cpp
字号:
#include "xsecu.h"
#include "Md5.c"
#include "Aes.h"
//#include <time.h>
bool WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
break;
default:
break;
}
return TRUE;
}
extern "C" DLL_EXPORT void hash(char *string, long buflen, char digest[])
{
char *sTemp=(char*)malloc(buflen);
memcpy(sTemp,string,buflen);
MD5String(sTemp, buflen, digest);
free(sTemp);
}
extern "C" DLL_EXPORT void encX(char *lpBuf, long buflen, char *key, char *lpBufOut, long &outbuflen)
{
long nLoseChar=buflen%16;
if(nLoseChar==0)
outbuflen=buflen;
else
outbuflen=buflen+16-nLoseChar;
enc(lpBuf, buflen, key, lpBufOut);
}
//buflen <= 16
extern "C" DLL_EXPORT void enc(char *lpBuf, long buflen, char *key, char *lpBufOut)
{
CAes oAes;
oAes.MakeKey(key, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16, 16);
// oAes.Encrypt(lpBuf,lpBufOut,buflen);
// return;
long nLoseChar;
char sTemp[17];
nLoseChar=buflen%16;
if(buflen-nLoseChar>0)
oAes.Encrypt(lpBuf,lpBufOut,buflen-nLoseChar);
if(nLoseChar==0)
return;
memset(sTemp,0,17);
memcpy(sTemp,lpBuf+buflen-nLoseChar,nLoseChar);
oAes.Encrypt(sTemp,lpBufOut+buflen-nLoseChar,16);
/*
char szDataIn[17];
char szDataOut[17];
long i;
for(i=0;i<nBlock;i++)
{
memset(szDataIn,0,17);
memset(szDataOut,0,17);
if(i!=nBlock-1)
memcpy(szDataIn,lpBuf+i*16,16);
else
memcpy(szDataIn,lpBuf+i*16,buflen-i*16);
oAes.EncryptBlock(szDataIn, szDataOut);
memcpy(lpBufOut+i*16,lpBufOut,16);
}
// buflenOut=nBlock*16;
*/
}
//buflen <= 16
extern "C" DLL_EXPORT void dec(char *lpBuf, long buflen, char *key, char *lpBufOut)
{
CAes oAes;
oAes.MakeKey(key, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16, 16);
oAes.Decrypt(lpBuf,lpBufOut,buflen);
return;
}
extern "C" DLL_EXPORT void randArray(char *lpBuf, long buflen)
{
srand(::GetTickCount()%65536);
for(int i=0;i<buflen;i++)
{
lpBuf[i]=rand()%256;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -