aboutsummaryrefslogblamecommitdiffstats
path: root/README
blob: f34b8f773403c5ea6edaca189b6e7cf830f8b20a (plain) (tree)
1
2
3
4
5
6
    
                                                                     

           

                                                                 






                                                                  
                            




                                                                
                          



                                                            
 


                                                      


                                







                                                                



                                                             
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.