Module Irmin.Hash

Hashing functions.

Hash provides user-defined hash functions to digest serialized contents. Some backends might be parameterized by such hash functions, others might work with a fixed one (for instance, the Git format uses only SHA1).

A SHA1 implementation is available to pass to the backends.

Contents Hashing

module type S = sig ... end

Signature for hash values.

module type TYPED = sig ... end

Signature for typed hashes, where hash directly takes a value as argument and incremental hashing is not possible.

module Make : functor (H : Digestif.S) -> sig ... end

Digestif hashes.

module Make_BLAKE2B : functor (D : sig ... end) -> sig ... end
module Make_BLAKE2S : functor (D : sig ... end) -> sig ... end
module SHA1 : sig ... end
module RMD160 : sig ... end
module SHA224 : sig ... end
module SHA256 : sig ... end
module SHA384 : sig ... end
module SHA512 : sig ... end
module BLAKE2B : sig ... end
module BLAKE2S : sig ... end
module V1 : functor (H : sig ... end) -> sig ... end

v1 serialisation

module Typed : functor (K : sig ... end) -> functor (V : Type.S) -> sig ... end

Typed hashes.