Module type Git.HASH

include Digestif.S
val digest_size : int
type ctx
type t
val empty : ctx
val init : unit -> ctx
val feed_bytes : ctx -> ?off:int -> ?len:int -> Stdlib.Bytes.t -> ctx
val feed_string : ctx -> ?off:int -> ?len:int -> Stdlib.String.t -> ctx
val feed_bigstring : ctx -> ?off:int -> ?len:int -> Digestif.bigstring -> ctx
val feedi_bytes : ctx -> Stdlib.Bytes.t Digestif.iter -> ctx
val feedi_string : ctx -> Stdlib.String.t Digestif.iter -> ctx
val feedi_bigstring : ctx -> Digestif.bigstring Digestif.iter -> ctx
val get : ctx -> t
val digest_bytes : ?off:int -> ?len:int -> Stdlib.Bytes.t -> t
val digest_string : ?off:int -> ?len:int -> Stdlib.String.t -> t
val digest_bigstring : ?off:int -> ?len:int -> Digestif.bigstring -> t
val digesti_bytes : Stdlib.Bytes.t Digestif.iter -> t
val digesti_string : Stdlib.String.t Digestif.iter -> t
val digesti_bigstring : Digestif.bigstring Digestif.iter -> t
val digestv_bytes : Stdlib.Bytes.t list -> t
val digestv_string : Stdlib.String.t list -> t
val digestv_bigstring : Digestif.bigstring list -> t
val hmac_bytes : key:string -> ?off:int -> ?len:int -> Stdlib.Bytes.t -> t
val hmac_string : key:string -> ?off:int -> ?len:int -> Stdlib.String.t -> t
val hmac_bigstring : key:string -> ?off:int -> ?len:int -> Digestif.bigstring -> t
val hmaci_bytes : key:string -> Stdlib.Bytes.t Digestif.iter -> t
val hmaci_string : key:string -> Stdlib.String.t Digestif.iter -> t
val hmaci_bigstring : key:string -> Digestif.bigstring Digestif.iter -> t
val hmacv_bytes : key:string -> Stdlib.Bytes.t list -> t
val hmacv_string : key:string -> Stdlib.String.t list -> t
val hmacv_bigstring : key:string -> Digestif.bigstring list -> t
val unsafe_compare : t Digestif.compare
val pp : t Digestif.pp
val of_hex : string -> t
val of_hex_opt : string -> t option
val consistent_of_hex : string -> t
val consistent_of_hex_opt : string -> t option
val to_hex : t -> string
val of_raw_string : string -> t
val of_raw_string_opt : string -> t option
val to_raw_string : t -> string
val get_into_bytes : ctx -> ?off:int -> bytes -> unit
val feed_cstruct : ctx -> Cstruct.t -> ctx
val compare : t -> t -> int
val hash : t -> int
val equal : t -> t -> bool
val read : t -> int -> int
val null : t
val length : int
val feed : ctx -> ?off:int -> ?len:int -> Bigstringaf.t -> ctx
module Set : Stdlib.Set.S with type elt = t
module Map : Stdlib.Map.S with type key = t