Mirage_crypto.HashSourceHashes.
Each algorithm is contained in its own module, with high-level operations accessible through functions that dispatch on code value.
type digest = Cstruct.tA general (inner) iterator. It applies the provided function to a collection of elements.
For instance:
let iter_k : 'a -> 'a iter = fun x f -> f xlet iter_pair : 'a * 'a -> 'a iter = fun (x, y) f = f x; f ylet iter_list : 'a list -> 'a iter = fun xs f -> List.iter f xsmodule type S = sig ... endA single hash algorithm.
val hashes : hash listhashes is a list of all implemented hash algorithms.
module_of hash is the (first-class) module corresponding to the code hash.
This is the most convenient way to go from a code to a module.
digesti algorithm iter is algorithm applied to iter.
mac algorithm ~key bytes is the mac algorithm applied to bytes under key.
maci algorithm ~key iter is the mac algorithm applied to iter under key.
val digest_size : [< hash ] -> intdigest_size algorithm is the size of the algorithm in bytes.