sbase

suckless unix tools
git clone git://git.2f30.org/sbase
Log | Files | Refs | README | LICENSE

sha512-256sum.c (764B)


      1 /* See LICENSE file for copyright and license details. */
      2 #include <stdint.h>
      3 #include <stdio.h>
      4 
      5 #include "crypt.h"
      6 #include "sha512-256.h"
      7 #include "util.h"
      8 
      9 static struct sha512_256 s;
     10 struct crypt_ops sha512_256_ops = {
     11 	sha512_256_init,
     12 	sha512_256_update,
     13 	sha512_256_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[SHA512_256_DIGEST_LENGTH];
     28 
     29 	ARGBEGIN {
     30 	case 'c':
     31 		cryptfunc = cryptcheck;
     32 		break;
     33 	default:
     34 		usage();
     35 	} ARGEND
     36 
     37 	ret |= cryptfunc(argc, argv, &sha512_256_ops, md, sizeof(md));
     38 	ret |= fshut(stdin, "<stdin>") | fshut(stdout, "<stdout>");
     39 
     40 	return ret;
     41 }