xmd5.h

来自「BCB的学习资料」· C头文件 代码 · 共 51 行

H
51
字号
//---------------------------------------------------------------------------

#ifndef XMD5H
#define XMD5H
//---------------------------------------------------------------------------
#ifndef XCommonTypeH
#include <XCommonType.h>
#endif
namespace zdhsoft
{

class XMD5
{
struct Context
{
    XDWord state[4];
    XDWord count[2];
    XByte  buff[64];
};

private:
    XDWord F(XDWord X, XDWord Y, XDWord Z);
    XDWord G(XDWord X, XDWord Y, XDWord Z);
    XDWord H(XDWord X, XDWord Y, XDWord Z);
    XDWord I(XDWord X, XDWord Y, XDWord Z);

    XDWord ROTATE_LEFT(XDWord X,XDWord N);

    XDWord FF(XDWord A,XDWord B,XDWord C,XDWord D,XDWord X,XDWord L,XDWord AC);
    XDWord GG(XDWord A,XDWord B,XDWord C,XDWord D,XDWord X,XDWord L,XDWord AC);
    XDWord HH(XDWord A,XDWord B,XDWord C,XDWord D,XDWord X,XDWord L,XDWord AC);
    XDWord II(XDWord A,XDWord B,XDWord C,XDWord D,XDWord X,XDWord L,XDWord AC);

    void MD5Init();
    void MD5Update(XByte * lpInput,XDWord dwLength);
    void MD5MemSet(XByte * lpOutput, XByte btValue, XDWord dwLength);
    void MD5MemCpy(XByte * lpOutput, XByte * lpInput, XDWord dwLength);
    void MD5Transform (XByte *lpInput);
    void Decode(XDWord *lpOutput,XByte *lpInput,XDWord dwLength);
    void Encode(XByte *lpOutput,XDWord *lpInput,XDWord dwLength);
    void MD5Final();
    char GetChar(XByte btValue);
public:
    char * GetMD5OfStr(char * lpInput,int iInputLen,char * lpOutput);
private:
    Context FContext;
};

};
#endif

⌨️ 快捷键说明

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