aboutsummaryrefslogtreecommitdiffstats
path: root/src/ocaml/botan.mli
blob: 0407177bb280ff257b87ac31272c9bff9441c27c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
(*
* OCaml binding for botan (http://botan.randombit.net)
* (C) 2015 Jack Lloyd
*
* Botan is released under the Simplified BSD License (see license.txt)
*)


module Botan : sig
  val version : (int * int * int)
  val version_string : string
  val version_date : int
  val ffi_version : int

  val hex_encode : string -> string

  module RNG : sig
    type t
    val create : string -> t
    val destroy: t -> unit (* TODO: GC finalize instead *)
    val generate : t -> int -> string
    val reseed : t -> int -> unit
  end

  val bcrypt : string -> RNG.t -> int -> string
  val check_bcrypt : string -> string -> bool

  module Hash : sig
    type t
    val create : string -> t
    val destroy: t -> unit (* TODO: GC finalize instead *)
    val output_length : t -> int
    val clear : t -> unit
    val update : t -> string -> unit
    val final: t -> string
  end

end