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.