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

📄 des.h

📁 可选择硬盘中的特定文件加密解密
💻 H
字号:
#ifndef __MYDES__
#define __MYDES__

class  DESServer {
public:
	CString DecryptString(CString str);
	CString EncryptString(CString str);
	DESServer(char* key = 0);
	virtual ~DESServer() {};
	void   SetKey(char* key);
    void    Encryption(long len,char  * inPut,char  * outPut);
    void    Decryption(long len,char  * inPut,char  * outPut);
    void    Decryption(char* iBlock);
    char*	GetSubKey(int i) { return SubKey[i]; }
    void    SetDebug(int i) {Debug = i;}
private:
    void    IP(char* iBlock);
    void    RIP(char* iBlock);

    void    Encryption(char* iBlock);
    void    Transfer(char* l,char* r,char* key);
    void    Transfer2(char* l,char* r,char* key);
    void    E32To48(char* s,char* d);
    void    E48To32(char* s,char* d);
    int     SGetRow(char* s,int no);
    int     SGetColumn(char* s,int no);
    void    EBuildChar(char & ch,char* s,int *pos);

    void    Decryption(char* iBlock, char* oBlock);
	void    BuildChar(char& ch,char* cn,char* dn,int *pos);
	void    SetSubKeys();
	char 	Key[9];
	char 	SubKey[16][7];
    int     Debug;
};

class AFX_EXT_CLASS CHexString  // 内部使用
{
public:
	CHexString(const unsigned char* pStr, int len);
	virtual ~CHexString();
	operator LPCTSTR() { return (LPCTSTR)m_pData; }
	static BOOL HexToASCII(int iSrclen, LPCTSTR pSrc, unsigned char* pDes);
private:
	unsigned char*	m_pData;
};

#endif

⌨️ 快捷键说明

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