74
74
memset(ctx, 0, sizeof(isc_md5_t));
79
80
/* #define F1(x, y, z) (x & y | ~x & z) */
80
81
#define F1(x, y, z) (z ^ (x & (y ^ z)))
81
82
#define F2(x, y, z) F1(z, x, y)
82
83
#define F3(x, y, z) (x ^ y ^ z)
83
84
#define F4(x, y, z) (y ^ (x | ~z))
86
88
#define MD5STEP(f,w,x,y,z,in,s) \
87
89
(w += f(x,y,z) + in, w = (w<<s | w>>(32-s)) + x)
90
92
* The core of the MD5 algorithm, this alters an existing MD5 hash to
91
93
* reflect the addition of 16 longwords of new data. MD5Update blocks
92
94
* the data and converts bytes into longwords for this routine.