Digest.S(3)

NAME
Digest.S - The signature for a hash function that produces digests of length hash_length from character strings, byte arrays, and files.

Module type
Module type Digest.S

Documentation

Module type S
 = sig end

The signature for a hash function that produces digests of length hash_length from character strings, byte arrays, and files.

Since 5.2

type t = string

The type of digests.

val hash_length : int

The length of digests, in bytes.

val compare : t -> t -> int

Compare two digests, with the same specification as compare .

val equal : t -> t -> bool

Test two digests for equality.

val string : string -> t

Return the digest of the given string.

val bytes : bytes -> t

Return the digest of the given byte sequence.

val substring : string -> int -> int -> t

substring s ofs len returns the digest of the substring of s starting at index ofs and containing len characters.

val subbytes : bytes -> int -> int -> t

subbytes s ofs len returns the digest of the subsequence of s starting at index ofs and containing len bytes.

val channel : in_channel -> int -> t

Read characters from the channel and return their digest. See Digest.channel for the full specification.

val file : string -> t

Return the digest of the file whose name is given.

val output : out_channel -> t -> unit

Write a digest on the given output channel.

val input : in_channel -> t

Read a digest from the given input channel.

val to_hex : t -> string

Return the printable hexadecimal representation of the given digest.

Raises Invalid_argument if the length of the argument is not hash_length ,

val of_hex : string -> t

Convert a hexadecimal representation back into the corresponding digest.

Raises Invalid_argument if the length of the argument is not 2 * hash_length , or if the arguments contains non-hexadecimal characters.