Up

module Sha1

: sig

SHA1 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_sha1_init"

Create a new context

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

Sha1.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

Sha1.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

Sha1.update_string ctx s updates the context with s.

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

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

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

Finalize the context and return digest

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

Return an copy of the context

#
val string : string -> t

Return the digest of the given string.

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

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

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

If len is nonnegative, Sha1.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, Sha1.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