module BatDigest: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.
Author(s): Xavier Leroy (Base module), David Rajchenbach-Teller
typet =
string
val string : string -> t
val substring : string -> int -> int -> t
Digest.substring s ofs len
returns the digest of the substring
of s
starting at character number ofs
and containing len
characters.val file : string -> t
val to_hex : t -> string
val from_hex : string -> t
Invalid_argument
if the argument is not exactly 32 hexadecimal
characters.val channel : BatIO.input -> int -> Digest.t
len
is nonnegative, Digest.channel ic len
reads len
characters from channel ic
and returns their digest, orEnd_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.
Note This version of channel
is currently very inefficient
if len
< 0 and requires copying the whole input to a temporary
file.
val output : 'a BatIO.output -> t -> unit
val print : 'a BatIO.output -> Digest.t -> unit
val input : BatIO.input -> Digest.t
val compare : t -> t -> int
Pervasives.compare
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
.