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 }