sha512-256sum.c - sbase - suckless unix tools
(HTM) git clone git://git.suckless.org/sbase
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
sha512-256sum.c (810B)
---
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 '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, &sha512_256_ops, md, sizeof(md));
42 ret |= fshut(stdin, "<stdin>") | fshut(stdout, "<stdout>");
43
44 return ret;
45 }