📄 des.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 + -