package octez-libs
include S
val empty : ctx
An empty hash context.
feed_bytes msg t
adds informations in msg
to t
. feed
is analogous to appending: feed (feed t msg1) msg2 = feed t (append msg1 msg2)
Same as feed_bytes
but for String.t
.
Same as feed_bytes
but for bigstring
.
feedi_bytes t iter = let r = ref t in iter (fun msg -> r := feed !r msg);
!r
digest_bytes msg
is the digest of msg
.
digest_bytes msg = get (feed_bytes empty msg)
.
Same as digest_bytes
but for a String.t
.
Same as digest_bytes
but for a bigstring
.
Same as digesti_bytes
but for String.t
.
Same as digesti_bigstring
but for bigstring
.
Specialization of digesti_bytes
with a list of Bytes.t
(see iter
).
Same as digestv_bytes
but for String.t
.
Same as digestv_bytes
but for bigstring
.
unsafe_compare
function returns 0
on equality and a negative/positive int
depending on the difference (like String.compare
). This is usually OK, but this is not constant time, so in some cases it could leak some information.
val of_hex : string -> t
of_hex
tries to parse an hexadecimal representation of t
. of_hex
raises an invalid_argument
when input is malformed. We take only firsts digest_size
hexadecimal values and ignore rest of input. If it has not enough hexadecimal values, trailing values of the output hash are zero (\x00
),
val of_hex_opt : string -> t option
of_hex
tries to parse an hexadecimal representation of t
. of_hex
returns None
when input is malformed. We take only first digest_size
hexadecimal values and ignore rest of input. If it has not enough hexadecimal values, trailing values of the output hash are zero (\x00
).
val consistent_of_hex : string -> t
val consistent_of_hex_opt : string -> t option
val of_raw_string : string -> t
of_raw_string s
see s
as a hash. Useful when reading serialized hashes.
val of_raw_string_opt : string -> t option
of_raw_string_opt s
see s
as a hash. Useful when reading serialized hashes. Returns None
if s
is not the digest_size
bytes long.
val to_raw_string : t -> string
to_raw_string s
is (s :> string)
.