#include "pch.h"
#include "Hash/cHashMD5.h"
|
#define | F(x, y, z) (z ^ (x & (y ^ z))) |
|
#define | P(a, b, c, d, k, s, t) { a += F(b,c,d) + w[k] + t; a = cBits::Rotl<UINT32>(a,s) + b; } |
|
#define | F(x, y, z) (y ^ (z & (x ^ y))) |
|
#define | F(x, y, z) (x ^ y ^ z) |
|
#define | F(x, y, z) (y ^ (x | ~z)) |
|
RFC 1321 compliant MD5 implementation The MD5 algorithm was designed by Ron Rivest in 1991. http://www.ietf.org/rfc/rfc1321.txt
- Copyright
- 1992 - 2020 Dennis Robinson (http://www.menasoft.com)
◆ F [1/4]
#define F |
( |
|
x, |
|
|
|
y, |
|
|
|
z |
|
) |
| (z ^ (x & (y ^ z))) |
◆ F [2/4]
#define F |
( |
|
x, |
|
|
|
y, |
|
|
|
z |
|
) |
| (y ^ (z & (x ^ y))) |
◆ F [3/4]
#define F |
( |
|
x, |
|
|
|
y, |
|
|
|
z |
|
) |
| (x ^ y ^ z) |
◆ F [4/4]
#define F |
( |
|
x, |
|
|
|
y, |
|
|
|
z |
|
) |
| (y ^ (x | ~z)) |
#define P |
( |
|
a, |
|
|
|
b, |
|
|
|
c, |
|
|
|
d, |
|
|
|
k, |
|
|
|
s, |
|
|
|
t |
|
) |
| { a += F(b,c,d) + w[k] + t; a = cBits::Rotl<UINT32>(a,s) + b; } |