Changes In Branch md5mini
Through [235f764371]
Excluding Merge-Ins
This is equivalent to a diff from
f303335c22
to 235f764371
Added md5mini/aoc201504-crypto.c version [bcbfee27e0].
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
#include <openssl/md5.h> // gcc ... -lcrypto
#include <stdio.h>
#include <string.h>
int main(void) {
char password[99];
printf("Enter password: ");
fflush(stdout);
fgets(password, 99, stdin);
password[strcspn(password, "\n")] = 0;
unsigned char hash[MD5_DIGEST_LENGTH];
union { unsigned char u[120]; char s[120]; } key;
int n = 1;
for (;;) {
size_t len = sprintf(key.s, "%s%d", password, n);
MD5(key.u, len, hash);
if ((hash[0] == 0) && (hash[1] == 0) && (hash[2] < 16)) break;
n++;
}
printf("DAY04-PART1: %d\n", n);
for (;;) {
size_t len = sprintf(key.s, "%s%d", password, n);
MD5(key.u, len, hash);
if ((hash[0] == 0) && (hash[1] == 0) && (hash[2] == 0)) break;
n++;
}
printf("DAY04-PART2: %d\n", n);
return 0;
}
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Added md5mini/aoc201504.c version [da2a6dfb9d].
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
#include <stdio.h>
#include <string.h>
#include "md5mini.h"
int main(void) {
char password[99], key[56];
printf("Enter password: ");
fflush(stdout);
fgets(password, 99, stdin);
password[strcspn(password, "\n")] = 0;
unsigned k = 1;
for (;;) {
sprintf(key, "%.42s%u", password, k);
unsigned char tmp[16];
md5mini(tmp, key);
if ((tmp[0] == 0) && (tmp[1] == 0) && (tmp[2] < 16)) break;
k++;
}
printf("use %u for five zeroes\n", k);
for (;;) {
sprintf(key, "%.42s%u", password, k);
unsigned char tmp[16];
md5mini(tmp, key);
if ((tmp[0] == 0) && (tmp[1] == 0) && (tmp[2] == 0)) break;
k++;
}
printf("use %u for six zeroes\n", k);
}
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Added md5mini/md5mini-test.c version [c29865dd98].
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
#include <stdio.h>
#include "md5mini.h"
int main(void) {
#ifndef NDEBUG
md5mini_run_all_tests();
#endif
unsigned char tmp[16];
md5mini(tmp, "abc");
printf("md5(\"abc\") =");
for (int k = 0; k < 16; k++) printf(" %02X", tmp[k]);
printf("\n expected = 90 01 50 98 3C D2 4F B0 D6 96 3F 7D 28 E1 7F 72\n");
md5mini(tmp, "message digest");
printf("md5(\"message digest\") =");
for (int k = 0; k < 16; k++) printf(" %02X", tmp[k]);
printf("\n expected = F9 6B 69 7D 7C B7 93 8D 52 5A 2F 31 AA F1 61 D0\n");
}
|
| | | | | | | | | | | | | | | | | | |
Added md5mini/md5mini.c version [f694ae4ce1].