sig
  type t = string
  val compare : Digest.t -> Digest.t -> int
  val string : string -> Digest.t
  val substring : string -> 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