package digestif

  1. Overview
  2. Docs
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 = Format.formatter -> 'a -> unit
module type S = sig ... end
type kind = [
  1. | `MD5
  2. | `SHA1
  3. | `RMD160
  4. | `SHA224
  5. | `SHA256
  6. | `SHA384
  7. | `SHA512
  8. | `BLAKE2B
  9. | `BLAKE2S
]
type 'k hash =
  1. | MD5 : [ `MD5 ] hash
  2. | SHA1 : [ `SHA1 ] hash
  3. | RMD160 : [ `RMD160 ] hash
  4. | SHA224 : [ `SHA224 ] hash
  5. | SHA256 : [ `SHA256 ] hash
  6. | SHA384 : [ `SHA384 ] hash
  7. | SHA512 : [ `SHA512 ] hash
  8. | BLAKE2B : int -> [ `BLAKE2B ] hash
  9. | BLAKE2S : int -> [ `BLAKE2S ] hash
module MD5 : S with type kind = [ `MD5 ]
module SHA1 : S with type kind = [ `SHA1 ]
module SHA224 : S with type kind = [ `SHA224 ]
module SHA256 : S with type kind = [ `SHA256 ]
module SHA384 : S with type kind = [ `SHA384 ]
module SHA512 : S with type kind = [ `SHA512 ]
module BLAKE2B : S with type kind = [ `BLAKE2B ]
module BLAKE2S : S with type kind = [ `BLAKE2S ]
module RMD160 : S with type kind = [ `RMD160 ]
module Make_BLAKE2B (D : sig ... end) : S with type kind = [ `BLAKE2B ]
module Make_BLAKE2S (D : sig ... end) : S with type kind = [ `BLAKE2S ]
val md5 : [ `MD5 ] hash
val sha1 : [ `SHA1 ] hash
val rmd160 : [ `RMD160 ] hash
val sha224 : [ `SHA224 ] hash
val sha256 : [ `SHA256 ] hash
val sha384 : [ `SHA384 ] hash
val sha512 : [ `SHA512 ] hash
val blake2b : int -> [ `BLAKE2B ] hash
val blake2s : int -> [ `BLAKE2S ] hash
type 'kind t = private string
val module_of : 'k hash -> (module S with type kind = 'k)
val digesti_bytes : 'k hash -> Bytes.t iter -> 'k t
val digesti_string : 'k hash -> String.t iter -> 'k t
val digesti_bigstring : 'k hash -> bigstring iter -> 'k t
val hmaci_bytes : 'k hash -> key:Bytes.t -> Bytes.t iter -> 'k t
val hmaci_string : 'k hash -> key:String.t -> String.t iter -> 'k t
val hmaci_bigstring : 'k hash -> key:bigstring -> bigstring iter -> 'k t
val pp : 'k hash -> 'k t pp
val eq : 'k hash -> 'k t equal
val neq : '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
OCaml

Innovation. Community. Security.