📄 test.cpp
字号:
#define POLYNOMIAL 0x04c11db7
static short _First = 1; /*初始化_CrcTable[256]的标志,使其只初始化一次*/
static unsigned long _CrcTable[256]; /*Calculate CRC32*/
#ifndef _DES_ENCRIPT_
#define _DES_ENCRIPT_
#include "DESserver.h"
typedef unsigned short WORD;
typedef unsigned long DWORD;
#define KEY_LENGTH 16
enum
{
ENCRYPT = 0,
DECRYPT
};
enum
{
ECB = 0,
CBC
};
#endif
/*
输入参数:bType=ENCRYPT:加扰,bType=DECRYPT:解扰
In,输入数据
datalen,输入数据长度
Key,加密密钥
keylen,密钥长度
输出参数: Out,输出数据
*/
bool RunDes(bool bType,unsigned char* In,unsigned char* Out,unsigned long datalen,const unsigned char* Key,const unsigned char keylen)
{
if(!(In && Out && Key && datalen && keylen>=8))
return false;
if(datalen & 0x00000007)
return false;
unsigned char * ttt = new unsigned char[24];
unsigned char * inttt = new unsigned char[24];
unsigned char * keyttt = new unsigned char[24];
//des3key((unsigned char *)Key,EN0);
DESserver::GetInstance()->Lock();
if (bType==ENCRYPT)
DESserver::GetInstance()->des3key((unsigned char *)Key,EN0);
else
DESserver::GetInstance()->des3key((unsigned char *)Key,DE1);
for (int ii=0,jj=datalen; ii<jj; ii=ii+8,Out+=8,In+=8)
DESserver::GetInstance()->Ddes((unsigned char *)In,(unsigned char *)Out);
DESserver::GetInstance()->Unlock();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -