`sig
type iana_hash_fn =
[ `MD2 | `MD5 | `SHA_1 | `SHA_224 | `SHA_256 | `SHA_384 | `SHA_512 ]
class type digest_ctx =
object
method add_memory : Netsys_types.memory -> unit
method add_subbytes : Stdlib.Bytes.t -> int -> int -> unit
method add_substring : string -> int -> int -> unit
method add_tstring : Netsys_types.tstring -> int -> int -> unit
method finish : unit -> string
end
class type digest =
object
method block_length : int
method create : unit -> Netsys_digests.digest_ctx
method iana_hash_fn : Netsys_digests.iana_hash_fn option
method iana_name : string option
method name : string
method oid : int array option
method size : int
end
val digests :
?impl:(module Netsys_crypto_types.DIGESTS) ->
unit -> Netsys_digests.digest list
val find :
?impl:(module Netsys_crypto_types.DIGESTS) ->
string -> Netsys_digests.digest
val digest_tstring :
Netsys_digests.digest -> Netsys_types.tstring -> string
val digest_bytes : Netsys_digests.digest -> Stdlib.Bytes.t -> string
val digest_string : Netsys_digests.digest -> string -> string
val digest_mstrings :
Netsys_digests.digest -> Netsys_types.mstring list -> string
val hmac : Netsys_digests.digest -> string -> Netsys_digests.digest
val iana_find :
?impl:(module Netsys_crypto_types.DIGESTS) ->
Netsys_digests.iana_hash_fn -> Netsys_digests.digest
val iana_alist : (string * Netsys_digests.iana_hash_fn) list
val iana_rev_alist : (Netsys_digests.iana_hash_fn * string) list
val oid_alist : (int array * Netsys_digests.iana_hash_fn) list
val oid_rev_alist : (Netsys_digests.iana_hash_fn * int array) list
val name_alist : (string * Netsys_digests.iana_hash_fn) list
val name_rev_alist : (Netsys_digests.iana_hash_fn * string) list
end`