Hash values
The type for hash values. All hash functions use this representation. It is not possible to distinguish them, except for their length
which might vary, or not.
val length : t -> int
length h
is the length of h
in bytes.
Predicate and comparisons
Converting
val to_bytes : t -> string
to_bytes h
is the sequence of bytes of h
.
val of_bytes : string -> t
of_bytes s
is the sequences of bytes of s
as a hash value.
val to_hex : t -> string
to_hex h
is String.Ascii.to_hex
(to_bytes h)
.
val of_hex : string -> (t, int) Stdlib.result
of_hex s
is Result.map of_bytes (
String.Ascii.of_hex
s)
.
Hash functions
module type T = sig ... end
The type for hash functions.
module Murmur3_128 : T
Murmur3_128
is the MurmurHash3 128-bit hash.
Xxh_64
is the xxHash 64-bit hash.
val funs : unit -> (module T) list
funs ()
is the list of available hash functions.
val add_fun : (module T) -> unit
add_fun m
adds m
to the list returned by funs
.
val get_fun : string -> ((module T), string) Stdlib.result
get_fun id
is the hash function with identifier id
or an error message.