sha256sum.c (778B)
1 /* See LICENSE file for copyright and license details. */ 2 #include <stdint.h> 3 #include <stdio.h> 4 5 #include "crypt.h" 6 #include "sha256.h" 7 #include "util.h" 8 9 static struct sha256 s; 10 struct crypt_ops sha256_ops = { 11 sha256_init, 12 sha256_update, 13 sha256_sum, 14 &s, 15 }; 16 17 static void 18 usage(void) 19 { 20 eprintf("usage: %s [-c] [file ...]\n", argv0); 21 } 22 23 int 24 main(int argc, char *argv[]) 25 { 26 int ret = 0, (*cryptfunc)(int, char **, struct crypt_ops *, uint8_t *, size_t) = cryptmain; 27 uint8_t md[SHA256_DIGEST_LENGTH]; 28 29 ARGBEGIN { 30 case 'b': 31 case 't': 32 /* ignore */ 33 break; 34 case 'c': 35 cryptfunc = cryptcheck; 36 break; 37 default: 38 usage(); 39 } ARGEND 40 41 ret |= cryptfunc(argc, argv, &sha256_ops, md, sizeof(md)); 42 ret |= fshut(stdin, "<stdin>") | fshut(stdout, "<stdout>"); 43 44 return ret; 45 }