Module Mec.Digestif

This is a fork from Digestif, commit 891907675ead09b5e1c5de28c24246a0e411a546, adding personalisation to Blake2.

When this issue is solved, this fork can be removed.

type bigstring = (char, Bigarray_compat.int8_unsigned_elt, Bigarray_compat.c_layout) Bigarray_compat.Array1.t
type 'a iter = ('a -> unit) -> unit

A 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 x
  • let iter_pair : 'a * 'a -> 'a iter = fun (x, y) -> f x; f y
  • let iter_list : 'a list -> 'a iter = fun l f -> List.iter f l
type 'a compare = 'a -> 'a -> int
type 'a equal = 'a -> 'a -> bool
type 'a pp = Stdlib.Format.formatter -> 'a -> unit
module type S = sig ... end
module BLAKE2B : sig ... end
module BLAKE2S : sig ... end
module Make_BLAKE2B (D : sig ... end) : S
module Make_BLAKE2S (D : sig ... end) : S
type 'k hash =
  1. | BLAKE2B : BLAKE2B.t hash
  2. | BLAKE2S : BLAKE2S.t hash
val blake2b : BLAKE2B.t hash
val blake2s : BLAKE2S.t hash
type 'kind t
val module_of : 'k hash -> (module S with type t = 'k)
val digest_bytes : 'k hash -> Stdlib.Bytes.t -> 'k t
val digest_string : 'k hash -> Stdlib.String.t -> 'k t
val digest_bigstring : 'k hash -> bigstring -> 'k t
val digesti_bytes : 'k hash -> Stdlib.Bytes.t iter -> 'k t
val digesti_string : 'k hash -> Stdlib.String.t iter -> 'k t
val digesti_bigstring : 'k hash -> bigstring iter -> 'k t
val pp : 'k hash -> 'k t pp
val equal : 'k hash -> 'k t equal
val unsafe_compare : 'k hash -> 'k t compare
val to_hex : 'k hash -> 'k t -> string
val of_hex : 'k hash -> string -> 'k t
val of_hex_opt : 'k hash -> string -> 'k t option
val consistent_of_hex : 'k hash -> string -> 'k t
val consistent_of_hex_opt : 'k hash -> string -> 'k t option
val of_raw_string : 'k hash -> string -> 'k t
val of_raw_string_opt : 'k hash -> string -> 'k t option
val to_raw_string : 'k hash -> 'k t -> string
val of_digest : (module S with type t = 'hash) -> 'hash -> 'hash t
val of_blake2b : BLAKE2B.t -> BLAKE2B.t t
val of_blake2s : BLAKE2S.t -> BLAKE2S.t t