package elpi
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=bac398ba41d0fe1e1807196162b024313563366f7b86ae0802b23d6ef0f3cbf9
sha512=e9e9e14adf6ef929cd28516ddffdc67faafc7dbe683dce42818329fedc9d1a22992333d8948cb427fec5f5e442d9440c0f450d81a76c9c1e87050c434441cd74
doc/elpi.util/Elpi_util/Util/Digest/index.html
Module Util.Digest
Source
include module type of Digest
Basic functions
The functions in this section use the MD5 hash function to produce 128-bit digests (16 bytes). MD5 is not cryptographically secure. Hence, these functions should not be used for security-sensitive applications. The BLAKE2 functions below are cryptographically secure.
The type of digests: 16-byte strings.
The comparison function for 16-byte digests, with the same specification as Stdlib.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
.
Digest.substring s ofs len
returns the digest of the substring of s
starting at index ofs
and containing len
characters.
Digest.subbytes s ofs len
returns the digest of the subsequence of s
starting at index ofs
and containing len
bytes.
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.
Write a digest on the given output channel.
Read a digest from the given input channel.
Convert a hexadecimal representation back into the corresponding digest.
Same function as Digest.of_hex
.
Generic interface
The signature for a hash function that produces digests of length hash_length
from character strings, byte arrays, and files.
Specific hash functions
BLAKE128
is the BLAKE2b hash function producing 128-bit (16-byte) digests. It is cryptographically secure. However, the small size of the digests enables brute-force attacks in 2{^64}
attempts.
BLAKE256
is the BLAKE2b hash function producing 256-bit (32-byte) digests. It is cryptographically secure, and the digests are large enough to thwart brute-force attacks.
BLAKE512
is the BLAKE2b hash function producing 512-bit (64-byte) digests. It is cryptographically secure, and the digests are large enough to thwart brute-force attacks.