Class HMac
java.lang.Object
com.ongres.scram.common.bouncycastle.pbkdf2.HMac
- All Implemented Interfaces:
Mac
HMAC implementation based on RFC2104
H(K XOR opad, H(K XOR ipad, text))
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintdoFinal(byte[] out, int outOff) Compute the final stage of the MAC writing the output to the out parameter.Return the name of the algorithm the MAC implements.private static intgetByteLength(Digest digest) intReturn the block size for this MAC (in bytes).voidinit(CipherParameters params) Initialise the MAC.voidreset()Reset the mac generator.voidupdate(byte in) add a single byte to the mac for processing.voidupdate(byte[] in, int inOff, int len) private static voidxorPad(byte[] pad, int len, byte n)
-
Field Details
-
IPAD
private static final byte IPAD- See Also:
-
OPAD
private static final byte OPAD- See Also:
-
digest
-
digestSize
private int digestSize -
blockLength
private int blockLength -
ipadState
-
opadState
-
inputPad
private byte[] inputPad -
outputBuf
private byte[] outputBuf -
blockLengths
-
-
Constructor Details
-
HMac
Base constructor for one of the standard digest algorithms that the byteLength of the algorithm is know for.- Parameters:
digest- the digest.
-
HMac
-
-
Method Details
-
getByteLength
-
getAlgorithmName
Description copied from interface:MacReturn the name of the algorithm the MAC implements.- Specified by:
getAlgorithmNamein interfaceMac- Returns:
- the name of the algorithm the MAC implements.
-
getUnderlyingDigest
-
init
Description copied from interface:MacInitialise the MAC. -
getMacSize
public int getMacSize()Description copied from interface:MacReturn the block size for this MAC (in bytes).- Specified by:
getMacSizein interfaceMac- Returns:
- the block size for this MAC in bytes.
-
update
public void update(byte in) Description copied from interface:Macadd a single byte to the mac for processing. -
update
public void update(byte[] in, int inOff, int len) -
doFinal
public int doFinal(byte[] out, int outOff) Description copied from interface:MacCompute 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.
-
reset
public void reset()Reset the mac generator. -
xorPad
private static void xorPad(byte[] pad, int len, byte n)
-