📄 hdes.h
字号:
// HDes.h: interface for the CHDES class.
// 数据吞吐量 111.6K/S
//////////////////////////////////////////////////////////////////////
#ifndef _DES_HPP_
#define _DES_HPP_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "HLib32.h"
#include "HGeneric.h"
//些DES算法有误,用HAES代替2006-03-15
class AFX_EXT_CLASS CHDES:public CHGeneric
{
public:
CHDES();
virtual ~CHDES();
DWORDLONG EnUnit(DWORDLONG date);//基本加密单元,分组长=64bit
DWORDLONG DeUnit(DWORDLONG date);//基本脱密单元,分组长=64bit
void SetPwd(DWORDLONG pwd);//设置密钥,密钥长=64bit
void Encrypt(BYTE *buf,DWORD dwLen,BYTE *bufKey);//
void Decrypt(BYTE *buf,DWORD dwLen,BYTE *bufKey);//
int GenerateRand(BYTE *bufRand,unsigned long dwLength);//CBC模式生成随机数
int MakeRand(BYTE* bufP,BYTE* bufRand,DWORD dwLen);
private:
void Generate_S(void);
DWORDLONG FP(DWORDLONG);
DWORDLONG FS(DWORDLONG);
DWORDLONG Exp(DWORDLONG);
DWORDLONG Des_left(DWORDLONG);
private:
DWORDLONG TS[8][64];
DWORDLONG Pwd[16];
DWORDLONG temp,temp1;
static int ROWL[16];
static int ROWR[16];
static DWORDLONG S[512];
static DWORDLONG PC1[56];
static DWORDLONG PC2[48];
static DWORDLONG E[48];
static DWORDLONG P[32];
DWORDLONG dwlData_S[9][4][16];
};
#endif // _DES_HPP_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -