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.

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 (H : Digestif.S) : S with type t = H.t

Digestif hashes.

module Make_BLAKE2B (D : sig ... end) : S

Signature for digest hashes, inspired by Digestif.

module Make_BLAKE2S (D : sig ... end) : S

Signature for digest hashes, inspired by Digestif.

module SHA1 : S

Signature for digest hashes, inspired by Digestif.

module RMD160 : S

Signature for digest hashes, inspired by Digestif.

module SHA224 : S

Signature for digest hashes, inspired by Digestif.

module SHA256 : S

Signature for digest hashes, inspired by Digestif.

module SHA384 : S

Signature for digest hashes, inspired by Digestif.

module SHA512 : S

Signature for digest hashes, inspired by Digestif.

module BLAKE2B : S

Signature for digest hashes, inspired by Digestif.

module BLAKE2S : S

Signature for digest hashes, inspired by Digestif.

module V1 (H : S) : S with type t = H.t

v1 serialisation

module Typed (K : S) (V : Type.S) : TYPED with type t = K.t and type value = V.t

Typed hashes.