type bigstring = (char, Bigarray_compat.int8_unsigned_elt, Bigarray_compat.c_layout) Bigarray_compat.Array1.t
type 'a pp = Stdlib.Format.formatter -> 'a -> unit
module By : sig ... end
module Bi : sig ... end
module Eq : sig ... end
module Hash : sig ... end
module Conv : sig ... end
val failwith : ('a, unit, string, 'b) Stdlib.format4 -> 'a
module type S = sig ... end
module type MAC = sig ... end
module type Desc = sig ... end
module type Hash = sig ... end
module type Hash_BLAKE2 = sig ... end
module Make_BLAKE2 : functor (H : Hash_BLAKE2) -> functor (D : Desc) -> sig ... end
module BLAKE2B : sig ... end
module BLAKE2S : sig ... end
module Make_BLAKE2B : functor (D : sig ... end) -> S with type kind = [ `BLAKE2B ]
module Make_BLAKE2S : functor (D : sig ... end) -> S with type kind = [ `BLAKE2S ]
include Hash
type 'kind hash =
| MD5 : [ `MD5 ] hash |
| SHA1 : [ `SHA1 ] hash |
| RMD160 : [ `RMD160 ] hash |
| SHA224 : [ `SHA224 ] hash |
| SHA256 : [ `SHA256 ] hash |
| SHA384 : [ `SHA384 ] hash |
| SHA512 : [ `SHA512 ] hash |
| SHA3_224 : [ `SHA3_224 ] hash |
| SHA3_256 : [ `SHA3_256 ] hash |
| SHA3_384 : [ `SHA3_384 ] hash |
| SHA3_512 : [ `SHA3_512 ] hash |
| WHIRLPOOL : [ `WHIRLPOOL ] hash |
| BLAKE2B : int -> [ `BLAKE2B ] hash |
| BLAKE2S : int -> [ `BLAKE2S ] hash |
and kind = [
| `MD5 |
| `SHA1 |
| `RMD160 |
| `SHA224 |
| `SHA256 |
| `SHA384 |
| `SHA512 |
| `SHA3_224 |
| `SHA3_256 |
| `SHA3_384 |
| `SHA3_512 |
| `WHIRLPOOL |
| `BLAKE2B |
| `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 sha3_224 : [ `SHA3_224 ] hash
val sha3_256 : [ `SHA3_256 ] hash
val sha3_384 : [ `SHA3_384 ] hash
val sha3_512 : [ `SHA3_512 ] hash
val whirlpool : [ `WHIRLPOOL ] hash
val blake2b : int -> [ `BLAKE2B ] hash
val blake2s : int -> [ `BLAKE2S ] hash
val digest_bytes : k. 'k hash -> Stdlib.Bytes.t -> 'k t
val digest_string : k. 'k hash -> Stdlib.String.t -> 'k t
val digesti_bytes : k. 'k hash -> Stdlib.Bytes.t iter -> 'k t
val digesti_string : k. 'k hash -> Stdlib.String.t iter -> 'k t
val hmaci_bytes : k. 'k hash -> key:Stdlib.Bytes.t -> Stdlib.Bytes.t iter -> 'k t
val hmaci_string : k. 'k hash -> key:Stdlib.String.t -> Stdlib.String.t iter -> 'k t
val of_sha3_224 : SHA3_224.t -> [ `SHA3_224 ] t
val of_sha3_256 : SHA3_256.t -> [ `SHA3_256 ] t
val of_sha3_384 : SHA3_384.t -> [ `SHA3_384 ] t
val of_sha3_512 : SHA3_512.t -> [ `SHA3_512 ] t
val of_whirlpool : WHIRLPOOL.t -> [ `WHIRLPOOL ] t