HMAC

HMAC


Provides a common Hash-based Message Authentication Code (HMAC) interface to be implemented by all HMAC classes.


Public:

Properties:

NameDescription
 CanReuseTransform (get) Returns if the hash algorithm implementation can be reused once a hash has been computed.  
 CanTransformMultipleBlocks (get) Returns if the hash algorithm implementation can processd multiple blocks of data at a time.  
 Hash (get) Returns the computed hash after all data has been processed.  
 HashName (get) Returns the name of the hash being used.  
 HashName (let) Sets the name of the hash being used.  
 HashSize (get) Returns the size of the hash value in bits.  
 InputBlockSize (get) Returns the size of the input block size allowed.  
 Key (get) Returns the current key used with the hash process.  
 Key (let) Sets the key to be used with the hash process.  
 OutputBlockSize (get) Returns the size of the output block.  

Methods:

NameDescription
 Clear Releases any resources being held by the hash algorithm.  
 ComputeHash Computes the hash on a source in its entirety.  
 Equals Returns if the Value is equal to this object instance.  
 GetHashCode Returns a pseudo-unique number identifying this instance.  
 Initialize Resets a hashing object to begin hashing a new value.  
 ToString Returns a string representation of this object instance.  
 TransformBlock Continues to compute the hash value for blocks of data.  
 TransformFinalBlock Finalizes the hash computation by processing the last block of data.  

Remarks

A Hash-based Message Authentication Code can be used to determine if messages sent over insecure channels have been modified. This works by each party at boths ends sharing a secret key used to sign the sent message and to also authenticate the received message. If the key were compromised, then the authentication cannot be guaranteed.

See Also

Project CorLib Overview

Class HMAC Overview

HMACMD5

HMACSHA1

HMACSHA256

HMACSHA384

HMACSHA512

HMACRIPEMD160