module Digest:sig..end
   This module provides functions to compute 128-bit 'digests' of
   arbitrary-length strings or files. The digests are of cryptographic
   quality: it is very hard, given a digest, to forge a string having
   that digest. The algorithm used is MD5. This module should not be
   used for secure and sensitive cryptographic applications. For these
   kind of applications more recent and stronger cryptographic
   primitives should be used instead.
typet =string
val compare : t -> t -> intcompare and the implementation
    shared with String.compare. Along with the type t, this
    function compare allows the module Digest to be passed as
    argument to the functors Set.Make and Map.Make.val equal : t -> t -> boolval string : string -> tval bytes : bytes -> tval substring : string -> int -> int -> tDigest.substring s ofs len returns the digest of the substring
   of s starting at index ofs and containing len characters.val subbytes : bytes -> int -> int -> tDigest.subbytes s ofs len returns the digest of the subsequence
    of s starting at index ofs and containing len bytes.val channel : in_channel -> int -> tlen is nonnegative, Digest.channel ic len reads len
   characters from channel ic and returns their digest, or raises
   End_of_file if end-of-file is reached before len characters
   are read.  If len is negative, Digest.channel ic len reads
   all characters from ic until end-of-file is reached and return
   their digest.val file : string -> tval output : out_channel -> t -> unitval input : in_channel -> tval to_hex : t -> stringInvalid_argument if the argument is not exactly 16 bytes.val from_hex : string -> tInvalid_argument if the argument is not exactly 32 hexadecimal
   characters.