.TH LIBHASHSUM 7 libhashsum .SH NAME libhashsum - library for calculating the cryptographic hashes .SH SYNOPSIS .nf #include .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)