mdc.h

来自「各种加密算法的集合」· C头文件 代码 · 共 40 行

H
40
字号
#ifndef MDC_H 
#define MDC_H 

#include <memory.h> 

#include "cryptlib.h" 
#include "misc.h" 

template <class T> class MDC : public BlockTransformation 
{ 
public: 
enum {KEYLENGTH=T::DATASIZE, BLOCKSIZE=T::DIGESTSIZE}; 

MDC(const byte *userKey) 
: key(KEYLENGTH/4) 
{ 
T::CorrectEndianess(key, (word32 *)userKey, KEYLENGTH); 
} 

void ProcessBlock(byte *inoutBlock) 
{ 
T::CorrectEndianess((word32 *)inoutBlock, (word32 *)inoutBlock, BLOCKSIZE); 
T::Transform((word32 *)inoutBlock, key); 
T::CorrectEndianess((word32 *)inoutBlock, (word32 *)inoutBlock, BLOCKSIZE); 
} 

void ProcessBlock(const byte *inBlock, byte *outBlock) 
{ 
T::CorrectEndianess((word32 *)outBlock, (word32 *)inBlock, BLOCKSIZE); 
T::Transform((word32 *)outBlock, key); 
T::CorrectEndianess((word32 *)outBlock, (word32 *)outBlock, BLOCKSIZE); 
} 

unsigned int BlockSize() const {return BLOCKSIZE;} 

private: 
SecBlock<word32> key; 
}; 

#endif 

⌨️ 快捷键说明

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