Up

module Sha512

: sig

SHA512 OCaml binding

#
type ctx

context type - opaque

#
type buf = (int, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t

buffer type

#
type t

digest type - opaque

#
val zero : t

The zero digest

#
external init : unit -> ctx = "stub_sha512_init"

Create a new context

#
external unsafe_update_substring : ctx -> string -> int -> int -> unit = "stub_sha512_update"

Sha512.unsafe_update_substring ctx s ofs len updates the context with the substring of s starting at character number ofs and containing len characters. Unsafe: No range checking!

#
val update_substring : ctx -> string -> int -> int -> unit

Sha512.update_substring ctx s ofs len updates the context with the substring of s starting at character number ofs and containing len characters.

#
val update_string : ctx -> string -> unit

Sha512.update_string ctx s updates the context with s.

#
external update_buffer : ctx -> buf -> unit = "stub_sha512_update_bigarray"

Sha512.update_buffer ctx a updates the context with a. Runs parallel to other threads if any exist.

#
external finalize : ctx -> t = "stub_sha512_finalize"

Finalize the context and return digest

#
external copy : ctx -> ctx = "stub_sha512_copy"

Return an copy of the context

#
val string : string -> t

Return the digest of the given string.

#
val substring : string -> int -> int -> t

Sha512.substring s ofs len returns the digest of the substring of s starting at character number ofs and containing len characters.

#
val buffer : buf -> t

Return the digest of the given buffer.

#
val channel : Pervasives.in_channel -> int -> t

If len is nonnegative, Sha512.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, Sha512.channel ic len reads all characters from ic until end-of-file is reached and return their digest.

#
val file : string -> t

Return the digest of the file whose name is given.

#
val file_fast : string -> t

Return the digest of the file whose name is given using fast C function

#
val output : Pervasives.out_channel -> t -> unit

Write a digest on the given output channel.

#
val input : Pervasives.in_channel -> t

Read a digest from the given input channel.

#
val to_bin : t -> string

return a binary representation of the given digest

#
val to_hex : t -> string

return a printable hexadecimal representation of the given digest

end