www.pudn.com > vod2007.rar > Des1.h
// DES1.h: interface for the CDES class. // ////////////////////////////////////////////////////////////////////// #ifndef DES1H #define DES1H //--------------------------------------------------------------------------- #include#include #include #include #include //#include #include typedef struct { BYTE L[32]; BYTE R[32]; }LRStruct; typedef struct { BYTE C[28]; BYTE D[28]; }CDStruct; typedef struct { BYTE b0 : 1; BYTE b1 : 1; BYTE b2 : 1; BYTE b3 : 1; BYTE b4 : 1; BYTE b5 : 1; BYTE b6 : 1; BYTE b7 : 1; }BYTEStruct; void DesAlgo(unsigned char *src, unsigned char *key, unsigned char *dst, int bEncrypt); void Decrypt(unsigned char * src, unsigned char * key, unsigned char * dst); void Encrypt(unsigned char* src, unsigned char* key, unsigned char* dst); void BitToByte(unsigned char * src, unsigned char * dst, int n); void ByteToBit(unsigned char * src, unsigned char * dst, int n); void Shift(CDStruct * pCD, int iCircle, int bEncrypt); void RShift(unsigned char *buf28, int nShift); void LShift(unsigned char *buf28, int nShift); void fFunction(unsigned char* R, unsigned char* K, unsigned char* result); void EOR(unsigned char * src, unsigned char* dst, int n); void S_Change(unsigned char* src, unsigned char* result); void SelectExchangeFromTable(int nTable, unsigned char * src, unsigned char * dst); #endif //