package cryptokit

  1. Overview
  2. Docs

Build a MAC (keyed hash function) from the given block cipher. The block cipher is run in CBC mode, and the MAC value is the final value of the initialization vector. Thus, the hash size of the resulting hash is the block size of the block cipher. The optional argument iv specifies the first initialization vector, with a default of all zeroes. The optional argument pad specifies a padding scheme to be applied to the input data; if not provided, no padding is performed.

method add_substring : bytes -> int -> int -> unit

add_substring b pos len adds len characters from byte array b, starting at character number pos, to the running hash computation.

method add_string : string -> unit

add_string str adds all characters of string str to the running hash computation.

method add_char : char -> unit

add_char c adds character c to the running hash computation.

method add_byte : int -> unit

add_byte b adds the character having code b to the running hash computation. b must be between 0 and 255 inclusive.

method result : string

Terminate the hash computation and return the hash value for the input data provided via the add_* methods. The hash value is a string of length hash_size characters. After calling result, the hash can no longer accept additional data. Hence, do not call any of the add_* methods after result.

method hash_size : int

Return the size of hash values produced by this hash function, in bytes.

method wipe : unit

Erase all internal buffers and data structures of this hash, overwriting them with zeroes. See Cryptokit.transform.wipe.