sig
module type S =
sig
type t
val digest_size : int
val init : unit -> Nocrypto.Hash.S.t
val feed : Nocrypto.Hash.S.t -> Cstruct.t -> unit
val get : Nocrypto.Hash.S.t -> Cstruct.t
val digest : Cstruct.t -> Cstruct.t
val digestv : Cstruct.t list -> Cstruct.t
val hmac : key:Cstruct.t -> Cstruct.t -> Cstruct.t
end
module MD5 : S
module SHA1 : S
module SHA224 : S
module SHA256 : S
module SHA384 : S
module SHA512 : S
type hash = [ `MD5 | `SHA1 | `SHA224 | `SHA256 | `SHA384 | `SHA512 ]
val digest : [< Nocrypto.Hash.hash ] -> Cstruct.t -> Cstruct.t
val mac :
[< Nocrypto.Hash.hash ] -> key:Cstruct.t -> Cstruct.t -> Cstruct.t
val digest_size : [< Nocrypto.Hash.hash ] -> int
val module_of : [< Nocrypto.Hash.hash ] -> (module Nocrypto.Hash.S)
val hash_of_sexp : Sexplib.Sexp.t -> Nocrypto.Hash.hash
val sexp_of_hash : Nocrypto.Hash.hash -> Sexplib.Sexp.t
end