aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: f34b8f773403c5ea6edaca189b6e7cf830f8b20a (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
NAME
	libhashsum - library for calculating the cryptographic hashes

DESCRIPTION
	The libhashsum library provides a unified interface for
	several cryptographic hash functions. Currently supported
	hash functions are:

	Built in
		MD2, MD4, MD5, RIPEMD-128, RIPEMD-160, RIPEMD-256,
		RIPEMD-320

	Via libsha1
		SHA-0, SHA-1

	Via libsha2
		SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224,
		SHA-512/256

	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

	Via libblake>=1.1
		BLAKE224, BLAKE256, BLAKE384, BLAKE512

	Via libblake>=3.0
		BLAKE2s, BLAKE2b

	libhashsum makes it easy to select at compile-time which
	functions to compile support for.

	For each hash function, 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.