HMACSHA512

HMACSHA512


Represents an SHA-512 implementation of the HMAC algorithm.


Implements:

HashAlgorithm 
HMAC 
ICryptoTransform 
IObject 
KeyedHashAlgorithm 

Public:

Properties:

NameDescription
 CanReuseTransform (get) Returns if this service provider can be reused to transfrom more data.  
 CanTransformMultipleBlocks (get) Returns if this transform can operate on multiple blocks at once.  
 Hash (get) Returns the computed hash.  
 HashName (get) Returns the name of the hash.  
 HashName (let) Sets the name of the hash.  
 HashSize (get) Returns the size of the computed hash.  
 InputBlockSize (get) Returns the size of the input block size allowed.  
 Key (get) Returns the key being used by the hash.  
 Key (let) Sets the key to be used by the hash.  
 OutputBlockSize (get) Returns the output block size this transform can produce.  
 ProduceLegacyHmacValues (get) 
 ProduceLegacyHmacValues (let) 

Methods:

NameDescription
 Clear Releases any resources.  
 ComputeHash Computes a hash value for a source in a single pass.  
 Equals This function determines if the value passed in is the same as the current object instance. Meaning, are the Value and this object the same object in memory.  
 GetHashCode Returns a psuedo-unique number used to help identify this object in memory. The current method is to return the value obtained from ObjPtr. If a different method needs to be impelmented then change the method here in this function.  
 Initialize Resets the hashing algorithm to start again.  
 ToString Returns a string representation of this object instance. The default method simply returns the application name and class name in which this class resides.  
 TransformBlock Computes the hash for the specified block of data.  
 TransformFinalBlock Processes the final data and retrieves the hash value.  

Remarks

Information about HMAC can be found at http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf

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 HMACSHA512 Overview