package elpi
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=beea3f0c443c4e575a47fce4b2cc7df9c033cb579fb7e56c0963f0655bfe6942
sha512=7cbeeec1a051612ee30800d3d950c2e124194d79d47ff304f5096b7856eca389140b2fa4907da23040386f1c1b4eb3347ce60672c42a29b1820b65c6c1725c33
doc/elpi.util/Elpi_util/Util/Digest/index.html
Module Util.DigestSource
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.