des.h

来自「本软件基于可视化软件开发平台进行程序开发」· C头文件 代码 · 共 48 行

H
48
字号
// des.h: interface for the des class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_DES_H__A7F246F8_31CD_4279_8676_4E5006A3DC3A__INCLUDED_)
#define AFX_DES_H__A7F246F8_31CD_4279_8676_4E5006A3DC3A__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

typedef  int int32;
typedef  char int8;
typedef  unsigned char  u8;
typedef  unsigned short u16;
typedef  unsigned long  u32;


class DES  
{
public:
	DES();
	virtual ~DES();
	u8 mainKey[8];
public:
	CString GetCipher(CString plainText,CString key);
	CString GetPlain(CString cipherText,CString key);
	void getBlockCipher(int8* plainBlock,int8* cipherBlock);
	void getKey(int8* key);
	void createKeys();
	int32 DdesN(u8 *data, u8 **key, u32 n_key,u32 readlen);
	int32 desN(u8 *data, u8 **key, u32 n_key,u32 readlen);
	int32 des3(u8 *data, u8 *key,u32 n ,u32 readlen);
	int32 Ddes3(u8 *data,u8 *key,u32 n ,u32 readlen);
	int32 des(u8 *data, u8 *key,int32 readlen);
	int32 Ddes(u8 *data,u8 *key,int32 readlen);

	int32 handle_data(u32 *left,u8 choice);
	int32 makedata(u32 *left,u32 *right,u32 number);
	int32 makefirstkey(u32 *keyP);
	int32 makekey(u32 *keyleft,u32 *keyright,u32 number);/*输入密钥的地址,一个32位的*/

	S_Box();
	P_Box();
};

#endif // !defined(AFX_DES_H__A7F246F8_31CD_4279_8676_4E5006A3DC3A__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?