Module BatDigest

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.


type t = string 

The type of digests: 16-character strings.

val string : string -> t

Return the digest of the given string.

val bytes : 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 : 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.

val channel : BatIO.input -> int -> Digest.t

If len is nonnegative, Digest.channel ic len reads len characters from channel ic and returns their digest, or

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.

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.