⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 des.h

📁 1、对于凯撒密文
💻 H
字号:
// Des.h: interface for the CDes class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_DES_H__36E7F81C_CF6B_4539_BBA9_8553CF0CA1CA__INCLUDED_)
#define AFX_DES_H__36E7F81C_CF6B_4539_BBA9_8553CF0CA1CA__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
enum	{ENCRYPT,DECRYPT};
#include "Cipher.h"
#include "memory.h"
class CDes : public CCipher  
{
public:
	CDes();
	virtual ~CDes();
	CString m_cipherString;
	CString m_plainString;
	CString m_key;
	void Decipher();
	void Encipher();
	// 加/解密 Type—ENCRYPT:加密,DECRYPT:解密
	void Des_Run(char Out[8], char In[8], bool Type=ENCRYPT);
	// 设置密钥
	void Des_SetKey(const char Key[8]);
	static void F_func(bool In[32], const bool Ki[48]);// f 函数
	static void S_func(bool Out[32], const bool In[48]);// S 盒代替
	static void Transform(bool *Out, bool *In, const char *Table, int len);// 变换
	static void Xor(bool *InA, const bool *InB, int len);// 异或
	static void RotateL(bool *In, int len, int loop);// 循环左移
	static void ByteToBit(bool *Out, const char *In, int bits);// 字节组转换成位组
	static void BitToByte(char *Out, const bool *In, int bits);// 位组转换成字节组

};

#endif // !defined(AFX_DES_H__36E7F81C_CF6B_4539_BBA9_8553CF0CA1CA__INCLUDED_)

⌨️ 快捷键说明

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