MD5_CTX 结构体指针。这是一个104B的内存空间。函数使用负责初始化MD5_CTX 结构体,填充必要的数据。MD5_CTX 结构体也为处理数据预留了空间。
源文件如下:md5.h #ifndef MD5_H#define MD5_H typedef struct{ unsigned int count[2]; unsigned int state[4]; unsigned char buffer[64]; }MD5_CTX; #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 ...
voidMD5Init(MD5_CTX *context); voidMD5Update(MD5_CTX *context,unsignedchar*input,unsignedintinputlen); voidMD5Final(MD5_CTX *context,unsignedchardigest[16]); voidMD5Transform(unsignedintstate[4],unsignedcharblock[64]); voidMD5Encode(unsignedchar*output,unsignedint*input,unsignedintlen); voidMD5Dec...
}MD5_CTX;#defineF(x,y,z) ((x & y) | (~x & z))#defineG(x,y,z) ((x & z) | (y & ~z))#defineH(x,y,z) (x^y^z)#defineI(x,y,z) (y ^ (x | ~z))#defineROTATE_LEFT(x,n) ((x<< n) | (x >> (32-n)))#defineFF(a,b,c,d,x,s,ac) \ { \ a += ...