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.
- author Xavier Leroy (Base module)
- author David Rajchenbach-Teller
val string : string -> t
Return the digest of the given string.
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
Digest.subbytes s ofs len returns the digest of the subsequence of
s starting at index
ofs and containing
- since 2.3.0
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.
- raises Invalid_argument
if the argument is not exactly 32 hexadecimal characters.
- since 4.00.0
val channel : BatIO.input -> int -> Digest.t
len 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
lencharacters are read. If
Digest.channel ic lenreads all characters from
icuntil end-of-file is reached and return their digest.
Note This version of
channelis 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 -> Digest.t -> unit
Write a digest on the given output in hexadecimal.
val input : BatIO.input -> Digest.t
Read a digest from the given input.
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
- since Batteries 2.0