#include "webrtc/base/md5.h"
#include <string.h>
#include "webrtc/base/byteorder.h"
|
#define | F1(x, y, z) (z ^ (x & (y ^ z))) |
|
#define | F2(x, y, z) F1(z, x, y) |
|
#define | F3(x, y, z) (x ^ y ^ z) |
|
#define | F4(x, y, z) (y ^ (x | ~z)) |
|
#define | MD5STEP(f, w, x, y, z, data, s) (w += f(x, y, z) + data, w = w << s | w >> (32 - s), w += x) |
|
◆ F1
#define F1 |
( |
|
x, |
|
|
|
y, |
|
|
|
z |
|
) |
| (z ^ (x & (y ^ z))) |
◆ F2
◆ F3
#define F3 |
( |
|
x, |
|
|
|
y, |
|
|
|
z |
|
) |
| (x ^ y ^ z) |
◆ F4
#define F4 |
( |
|
x, |
|
|
|
y, |
|
|
|
z |
|
) |
| (y ^ (x | ~z)) |
◆ MD5STEP
#define MD5STEP |
( |
|
f, |
|
|
|
w, |
|
|
|
x, |
|
|
|
y, |
|
|
|
z, |
|
|
|
data, |
|
|
|
s |
|
) |
| (w += f(x, y, z) + data, w = w << s | w >> (32 - s), w += x) |