1 #!/usr/bin/gawk
2
3 # Copyright 2020 Oxide Computer Company
4
5 # Converts the MD5 test vectors into the same format as the SHA ones
6 # usage: gawk -f convert.awk byte-hashes.md5
7
8 BEGIN {
9 filenum = 0;
10 }
11
12 $2 == "^" {
13 filename = sprintf("byte%04d.dat", filenum);
14 # od -An -t x1 -w200000 < <file> | sed -e 's/ //g'
15 cmd = sprintf("sh -c \"od -An -t x1 -w200000 < %s | sed -e 's/ //g'\"", filename);
16 cmd |& getline bindata
17 binlen = length(bindata) / 2;
18 if (binlen == 0) {
19 bindata = "00"
20 }
21 printf("Len = %d\n", binlen * 8);
22 printf("Msg = %s\n", bindata);
23 printf("MD = %s\n\n", tolower($1));
24 filenum++;
25 }