31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
+
+
+
+
+
+
|
uint32_t (*F)(uint32_t, uint32_t, uint32_t)) {
uint32_t tmp = *a;
tmp += F(b, c, d);
tmp += k;
tmp += t;
*a = b + rotateleft(tmp, s);
}
long long unsigned upow(unsigned base, unsigned exponent) {
long long unsigned result = 1;
while (exponent--) result *= base;
return result;
}
void md5mini(unsigned char *dstarr, const char *src) {
// see https://www.ietf.org/rfc/rfc1321.txt
static uint32_t T[64] = {0};
if (T[0] == 0) {
#if 0
for (int p = 0; p < 64; p++) {
|