aboutsummaryrefslogtreecommitdiffstats
path: root/libhashsum.7
blob: ec8dcb163f1ff765c7d1d1109f5a4939f1ec9af0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
.TH LIBHASHSUM 7 libhashsum
.SH NAME
libhashsum - library for calculating the cryptographic hashes

.SH SYNOPSIS
.nf
#include <libhashsum.h>
.fi
.PP
Link with
.I -lhashsum
.br
.I -lsha1
(unless support for SHA-0 and SHA-1 was excluded)
.br
.I -lsha2
(unless support for SHA-2 was excluded)
.br
.I -lkeccak
(unless support for Keccak, SHA-3, SHAKE, and RawSHAKE was excluded)
.br
.I -lblake
(unless support for BLAKE and BLAKE2 was excluded).

.SH DESCRIPTION
The
.B libhashsum
library provides a unified interface for
several cryptographic hash functions. Currently supported
hash functions are:
.TP
Built in
MD2, MD4, MD5, RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320
.TP
Via libsha1
SHA-0, SHA-1
.TP
Via libsha2
SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256
.TP
Via libkeccak>=1.3
Keccak, Keccak-224, Keccak-256, Keccak-384, Keccak-512,
SHA-3-224, SHA-3-256, SHA-3-384, SHA-3-512,
SHAKE128, SHAKE256, SHAKE512,
RawSHAKE128, RawSHAKE256, RawSHAKE512
.TP
Via libblake>=1.1
BLAKE224, BLAKE256, BLAKE384, BLAKE512
.TP
Via libblake>=3.0
BLAKE2s, BLAKE2b
.PP
For each hash function,
.B libhashsum
has a dedicated initialiser that may take required
parameters for the hash function. It also have a
function that can parse a string describing any support
function with its parameters. For hash function that do
not require any parameters, or only have optional
parameters with obvious default values, it has a
function that can select the appropriate initialiser
based on an enum value that specifies the algorithm.
.SH SEE ALSO
.BR libhashsum_init_hasher (3),
.BR libhashsum_init_hasher_from_string (3)