public class

HMac

extends Object
implements Mac
java.lang.Object
   ↳ org.bouncycastle.crypto.macs.HMac

Class Overview

HMAC implementation based on RFC2104 H(K XOR opad, H(K XOR ipad, text))

Summary

Public Constructors
HMac(Digest digest)
Base constructor for one of the standard digest algorithms that the byteLength of the algorithm is know for.
Public Methods
int doFinal(byte[] out, int outOff)
Compute the final stage of the MAC writing the output to the out parameter.
String getAlgorithmName()
Return the name of the algorithm the MAC implements.
int getMacSize()
Return the block size for this MAC (in bytes).
Digest getUnderlyingDigest()
void init(CipherParameters params)
Initialise the MAC.
void reset()
Reset the mac generator.
void update(byte[] in, int inOff, int len)
void update(byte in)
add a single byte to the mac for processing.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.bouncycastle.crypto.Mac

Public Constructors

public HMac (Digest digest)

Base constructor for one of the standard digest algorithms that the byteLength of the algorithm is know for.

Parameters
digest the digest.

Public Methods

public int doFinal (byte[] out, int outOff)

Compute the final stage of the MAC writing the output to the out parameter.

doFinal leaves the MAC in the same state it was after the last init.

Parameters
out the array the MAC is to be output to.
outOff the offset into the out buffer the output is to start at.

public String getAlgorithmName ()

Return the name of the algorithm the MAC implements.

Returns
  • the name of the algorithm the MAC implements.

public int getMacSize ()

Return the block size for this MAC (in bytes).

Returns
  • the block size for this MAC in bytes.

public Digest getUnderlyingDigest ()

public void init (CipherParameters params)

Initialise the MAC.

Parameters
params the key and other data required by the MAC.

public void reset ()

Reset the mac generator.

public void update (byte[] in, int inOff, int len)

public void update (byte in)

add a single byte to the mac for processing.

Parameters
in the byte to be processed.