des.h

来自「可选择硬盘中的特定文件加密解密」· C头文件 代码 · 共 49 行

H
49
字号
#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 + =
减小字号Ctrl + -
显示快捷键?