module BatDigest:sig
..end
MD5 message digest.
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.
typet =
string
The type of digests: 16-character strings.
val string : string -> t
Return the digest of the given string.
val bytes : Stdlib.Bytes.t -> t
Return the digest of the given byte sequence.
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 subbytes : Stdlib.Bytes.t -> int -> int -> t
Digest.subbytes s ofs len
returns the digest of the subsequence
of s
starting at index ofs
and containing len
bytes.
val file : string -> t
Return the digest of the file whose name is given.
val to_hex : t -> string
Return the printable hexadecimal representation of the given digest.
val from_hex : string -> t
Convert a hexadecimal representation back into the corresponding digest.
Invalid_argument
if the argument is not exactly 32 hexadecimal
characters.val channel : BatIO.input -> int -> Stdlib.Digest.t
If len
is nonnegative, Digest.channel ic len
reads len
characters from channel ic
and returns their digest, or
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.
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
Write a digest on the given output.
val print : 'a BatIO.output -> Stdlib.Digest.t -> unit
Write a digest on the given output in hexadecimal.
val input : BatIO.input -> Stdlib.Digest.t
Read a digest from the given input.
val compare : t -> t -> int
The comparison function for 16-character digest, with the same
specification as 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
.
val equal : t -> t -> bool
The equal function for digests.