Digest

`sig
type t = string
val compare : Digest.t -> Digest.t -> int
val string : string -> Digest.t
val bytes : bytes -> Digest.t
val substring : string -> int -> int -> Digest.t
val subbytes : bytes -> int -> int -> Digest.t
external channel : Pervasives.in_channel -> int -> Digest.t
= "caml_md5_chan"
val file : string -> Digest.t
val output : Pervasives.out_channel -> Digest.t -> unit
val input : Pervasives.in_channel -> Digest.t
val to_hex : Digest.t -> string
val from_hex : string -> Digest.t
end`