Legend:
Library
Module
Module type
Parameter
Class
Class type
Build a MAC (keyed hash function) from the given block ciphers c1, c2 and c3. The input is run through c1 in CBC mode, as described for Cryptokit.Block.mac. The final initialization vector is then super-enciphered by c2, then by c3, to provide the final MAC. This construction results in a MAC that is as nearly as fast as Cryptokit.Block.macc1, but more resistant against brute-force key search because of the additional final encryption through c2 and c3.
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.