Module Digest
module Digest: sig .. end
MD5 message digest.
This module provides functions to compute 128-bit 'digests' of arbitrary-length strings or files. The algorithm used is MD5.
The MD5 hash function is not cryptographically secure. Hence, this module should not be used for security-sensitive applications. More recent, stronger cryptographic primitives should be used instead.
type t = string
The type of digests: 16-character strings.
val compare : t -> t -> int
The comparison function for 16-character digest, with the same specification as 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
.
- Since 4.00.0
val equal : t -> t -> bool
The equal function for 16-character digest.
- Since 4.03.0
val string : string -> t
Return the digest of the given string.
val bytes : bytes -> t
Return the digest of the given byte sequence.
- Since 4.02.0
val substring : string -> int -> int -> t
Digest.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
Digest.subbytes s ofs len
returns the digest of the subsequence of s
starting at index ofs
and containing len
bytes.
- Since 4.02.0
val channel : in_channel -> int -> t
If 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 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.
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 argument is not exactly 16 bytes.
val from_hex : string -> t
Convert a hexadecimal representation back into the corresponding digest.
- Since 4.00.0
-
Raises
Invalid_argument
if the argument is not exactly 32 hexadecimal characters.
© 1995-2021 INRIA.
https://www.ocaml.org/releases/4.13/htmlman/libref/Digest.html