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

📄 md5.h

📁 加密解密组建支持RC4
💻 H
字号:
#include "stdafx.h"


#define S11 7
#define S12 12
#define S13 17
#define S14 22
#define S21 5
#define S22 9
#define S23 14
#define S24 20
#define S31 4
#define S32 11
#define S33 16
#define S34 23
#define S41 6
#define S42 10
#define S43 15
#define S44 21
typedef unsigned char * POINTER;
typedef unsigned short int UNIT2;
typedef unsigned long int UINT4;

typedef struct{
        UINT4 state[4];
        UINT4 count[2];
        unsigned char buffer[64];
} MD5_CTX;


static unsigned char PADDING[64]={
 0x80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  };
#define F(x,y,z)(((x)&(y))|((~x)&(z)))
#define G(x,y,z)(((x)&(z))|((y)&(~z)))
#define H(x,y,z)((x)^(y)^(z))
#define I(x,y,z)((y)^((x)|(~z)))

#define ROTATE_LEFT(x,n) (((x)<<(n))|((x)>>(32-(n))))
#define FF(a,b,c,d,x,s,ac) {\
    (a)+=F((b),(c),(d))+(x)+(UINT4)(ac);\
    (a)=ROTATE_LEFT((a),(s));\
    (a)+=(b); \
    }
#define GG(a,b,c,d,x,s,ac) {\
    (a)+=G((b),(c),(d))+(x)+(UINT4)(ac);\
    (a)=ROTATE_LEFT((a),(s));\
    (a)+=(b);   \
    }
#define HH(a,b,c,d,x,s,ac) {\
    (a)+=H((b),(c),(d))+(x)+(UINT4)(ac);\
    (a)=ROTATE_LEFT((a),(s));\
    (a)+=(b);\
    }
#define II(a,b,c,d,x,s,ac) {\
    (a)+=I((b),(c),(d))+(x)+(UINT4)(ac);\
    (a)=ROTATE_LEFT((a),(s));\
    (a)+=(b);\
    }

void MD5Init (MD5_CTX *);
void MD5Update (MD5_CTX *,unsigned char *,unsigned int);
void MD5Final (unsigned char [16],MD5_CTX *);

void MD5Transform (UINT4[4],unsigned char [64]);
void Encode (unsigned char *,UINT4 *,unsigned int);
void Decode (UINT4 *,unsigned char *,unsigned int);
void MD5_memcpy (POINTER output,POINTER intput,unsigned int len);
void MD5_memset (POINTER,int ,unsigned int);
const char *MD5String (unsigned char * string);

⌨️ 快捷键说明

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