22#define F(x,y,z) ( (x & y) | (~x & z) )
23#define G(x,y,z) ( (x & z) | (y & ~z) )
24#define H(x,y,z) ( x ^ y ^ z )
25#define I(x,y,z) ( y ^ (x | ~z) )
26#define FF(a,b,c,d,m,s,t) { a += F(b,c,d) + m + t; a = b + rol32(a,s); }
27#define GG(a,b,c,d,m,s,t) { a += G(b,c,d) + m + t; a = b + rol32(a,s); }
28#define HH(a,b,c,d,m,s,t) { a += H(b,c,d) + m + t; a = b + rol32(a,s); }
29#define II(a,b,c,d,m,s,t) { a += I(b,c,d) + m + t; a = b + rol32(a,s); }
46void md5(
const void *in,
size_t inlen,
void *out);
50 void test_kcu_md5(
const void *in,
size_t *inlen,
size_t max_inlen,
void md5(const void *in, size_t inlen, void *out)
Convenient all-in-one MD5 computation.
Definition: md5.c:192
void md5_init(MD5_CTX *ctx)
Initialize a MD5 context.
Definition: md5.c:110
void md5_final(MD5_CTX *ctx, void *out)
Finalize a MD5 message digest.
Definition: md5.c:153
void md5_update(MD5_CTX *ctx, const void *in, size_t inlen)
Add inlen bytes from in to a MD5 context for hashing.
Definition: md5.c:126
uint32_t datalen
Length of buffered input.
Definition: md5.h:35
Device utilities and includes support.