Module Bytesrw_md.Sha_384

SHA-384 hash

Hashes

val id : string

id identifies the hash function.

val length : int

length is the byte length of hashes produced by the function.

type t

The type for hashes.

module State : sig ... end

Hashing state.

val value : State.t -> t

value state is the hash of state. This has no effect on state which can still be State.updated.

Hashing

val string : string -> t

string s is the hash of s keyed with key (if any).

val bytes : bytes -> t

bytes b is the hash of b with seed seed (if any).

val slice : Bytesrw.Bytes.Slice.t -> t

slice s is the hash of s with seed seed (if any).

val reader : Bytesrw.Bytes.Reader.t -> t

reader r hashes the stream of r with seed seed (if any). See also reads.

Hashing streams

reads r is hr, hstate with:

  • hr a reader that taps the reads of r to update hstate.
  • hstate, a hash state of the reads made on hr so far. This is state if explicitely given, otherwise defaults to a fresh State.make.

To get the final hash results use value on hstate once..

writes ?state w is hw, hstate with:

  • hw a writer that taps the writes to update hstate before giving them to w.
  • hstate, a hash state of the writes made on wr so far. This is state if explicitely given, otherwise defaults to a fresh State.make.

To get the final hash results use value on hstate once..

Predicates and comparisons

val equal : t -> t -> bool

equal h0 h1 is true iff h0 and h1 are equal.

val compare : t -> t -> int

comapre is a total order on hashes compatible with equal.

Converting

val to_binary_string : t -> string

to_binary_string s is a big-endian binary representation of s of length length.

val of_binary_string : string -> (t, string) Stdlib.result

of_binary_string s is a hash from the big-endian binary representation stored in s.

val to_hex : t -> string

to_hex t is the binary representation of h using lowercase US-ASCII hex digits.

val of_hex : string -> (t, string) Stdlib.result

to_hex t parses a sequence of hex digits into a hash.

val pp : Stdlib.Format.formatter -> t -> unit

pp formats hashes for inspection.