iaik.security.mac
Class HMacSha256

java.lang.Object
  |
  +--javax.crypto.MacSpi
        |
        +--iaik.security.mac.HMac
              |
              +--iaik.security.mac.HMacSha256

public class HMacSha256
extends HMac

This class implements the HMAC(Keyed-Hashing for Message Authentication) algorithm as defined in RFC 2104 with SHA-256 as message digest algorithm.

An application wishing to perform a MAC computation, at first has to create a MAC object by instantiating the MAC class through a proper getInstance factory method thereby specifying the MAC algorithm to be used. Calculating a HMAC based on the SHA256 hash algorithm, may be initiated as follows:

 MAC sha256_HMAC = MAC.getInstance("HMAC/SHA256");
 

After properly initializing the MAC object with one entity´s secret key, the data to be processed is applied by one (or more) calls to the update methods. The MAC computation is concluded by using doFinal. If the data can be processed without calling any update method, doFinal can be called immediately after initializing the MAC object:

 sha256_HMAC.init(secret_key);
 byte[] mac_data = sha256_HMAC.doFinal(data);
 

After the MAC finally has been calculated, the MAC object automatically is reset for being able to be used for further MAC computations, either by using the same secret key again, or using a new key by properly re-initializing this MAC object.

Version:
File Revision 7
See Also:
HMac, HMacMd5, SHA256

Constructor Summary
HMacSha256()
          Default constructor.
 
Methods inherited from class iaik.security.mac.HMac
engineDoFinal, engineGetMacLength, engineInit, engineReset, engineUpdate, engineUpdate
 
Methods inherited from class javax.crypto.MacSpi
clone
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HMacSha256

public HMacSha256()
           throws NoSuchAlgorithmException
Default constructor.
Throws:
NoSuchAlgorithmException - if there is no implementation for SHA256

This Javadoc may contain text parts from Internet Standard specifications (RFC 2459, 3280, 3039, 2560, 1521, 821, 822, 2253, 1319, 1321, ,2630, 2631, 2268, 3058, 2984, 2104, 2144, 2040, 2311, 2279, see copyright note) and RSA Data Security Public-Key Cryptography Standards (PKCS#1,3,5,7,8,9,10,12, see copyright note).

IAIK-JCE 3.1 with IAIK-JCE CC Core 3.1, (c) 1997-2004 IAIK