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.