|
Bouncy Castle Cryptography 1.11 API Specification: Class HMac
org.bouncycastle.crypto.macs
Class HMac
java.lang.Object
|
+--org.bouncycastle.crypto.macs.HMac
- All Implemented Interfaces:
- Mac
- public class HMac
- extends java.lang.Object
- implements Mac
HMAC implementation based on RFC2104
H(K XOR opad, H(K XOR ipad, text))
Method Summary |
int |
doFinal(byte[] out,
int outOff)
Compute the final statge of the MAC writing the output to the out
parameter. |
java.lang.String |
getAlgorithmName()
Return the name of the algorithm the MAC implements. |
int |
getMacSize()
Return the block size for this cipher (in bytes). |
Digest |
getUnderlyingDigest()
|
void |
init(CipherParameters params)
Initialise the MAC. |
void |
reset()
Reset the mac generator. |
void |
update(byte in)
add a single byte to the mac for processing. |
void |
update(byte[] in,
int inOff,
int len)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HMac
public HMac(Digest digest)
getAlgorithmName
public java.lang.String getAlgorithmName()
- Description copied from interface:
Mac
- Return the name of the algorithm the MAC implements.
- Specified by:
getAlgorithmName in interface Mac
- Following copied from interface:
org.bouncycastle.crypto.Mac
- Returns:
- the name of the algorithm the MAC implements.
getUnderlyingDigest
public Digest getUnderlyingDigest()
init
public void init(CipherParameters params)
- Description copied from interface:
Mac
- Initialise the MAC.
- Specified by:
init in interface Mac
- Following copied from interface:
org.bouncycastle.crypto.Mac
- Parameters:
param - the key and other data required by the MAC.- Throws:
java.lang.IllegalArgumentException - if the params argument is
inappropriate.
getMacSize
public int getMacSize()
- Description copied from interface:
Mac
- Return the block size for this cipher (in bytes).
- Specified by:
getMacSize in interface Mac
- Following copied from interface:
org.bouncycastle.crypto.Mac
- Returns:
- the block size for this cipher in bytes.
update
public void update(byte in)
- Description copied from interface:
Mac
- add a single byte to the mac for processing.
- Specified by:
update in interface Mac
- Following copied from interface:
org.bouncycastle.crypto.Mac
- Parameters:
in - the byte to be processed.- Throws:
java.lang.IllegalStateException - if the MAC is not initialised.
update
public void update(byte[] in,
int inOff,
int len)
- Specified by:
update in interface Mac
- Following copied from interface:
org.bouncycastle.crypto.Mac
- Parameters:
in - the array containing the input.inOff - the index in the array the data begins at.len - the length of the input starting at inOff.- Throws:
java.lang.IllegalStateException - if the MAC is not initialised.DataLengthException - if there isn't enough data in in.
doFinal
public int doFinal(byte[] out,
int outOff)
- Description copied from interface:
Mac
- Compute the final statge of the MAC writing the output to the out
parameter.
doFinal leaves the MAC in the same state it was after the last init.
- Specified by:
doFinal in interface Mac
- Following copied from interface:
org.bouncycastle.crypto.Mac
- Parameters:
out - the array the MAC is to be output to.outOff - the offset into the out buffer the output is to start at.- Throws:
DataLengthException - if there isn't enough space in out.java.lang.IllegalStateException - if the MAC is not initialised.
reset
public void reset()
- Reset the mac generator.
- Specified by:
reset in interface Mac
|