H

handle
A token used to identify or access an object, such as the handle to a cryptographic provider, certificate store, message, or key pair.
hash
A hash is a fixed-size result obtained by applying a mathematical function (the "hashing algorithm") to an arbitrary amount of data.

A good hash function has a quality where changes in the input data can change every bit in the resulting hash value; for this reason hashes are useful in detecting any modification in a large data object, such as a message.

Furthermore, a good hash function has the quality where that it is computationally in-feasible to construct two independent inputs that have the same hash.

See also hashing functions.

hash object
An object used to hash messages or session keys. The hash object is created by a call to CryptCreateHash. The definition of the object is defined by the CSP specified in the call.
hash value
See hash.
hashing algorithm
An algorithm used to produce a hash value of some piece of data, such as a message or session key. Typical hashing algorithms include MD2, MD4, MD5, and SHA-1.
hashing functions
A set of functions used to create and destroy hash objects, get or set the parameters of a hash object, and hash data and session keys.
HMAC
The CryptoAPI algorithm name for the Hash-based Message Authentication Code algorithm when used with a specified hash algorithm. The CryptoAPI also references this algorithm by its algorithm identifier (CALG_HMAC) and class (ALG_CLASS_HASH).

See also Message Authentication Code algorithm.

Hash-Based Message Authentication Code
(HMAC) A keyed hashing algorithm implemented by Microsoft cryptographic service providers. It is a more complex algorithm than the simple CBC MAC algorithm because it uses a secret symmetric key to create the hash.

It can be used with any iterated cryptographic hash algorithm, such as MD5 or SHA-1.