Package org.aoju.bus.crypto.digest.mac
Class BCMacEngine
java.lang.Object
org.aoju.bus.crypto.digest.mac.BCMacEngine
- All Implemented Interfaces:
MacEngine
- Direct Known Subclasses:
BCHMacEngine,CBCBlockCipher
BouncyCastle的MAC算法实现引擎,使用
Mac 实现摘要
当引入BouncyCastle库时自动使用其作为Provider- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
ConstructorsConstructorDescriptionBCMacEngine(org.bouncycastle.crypto.Mac mac, org.bouncycastle.crypto.CipherParameters params) 构造 -
Method Summary
-
Constructor Details
-
BCMacEngine
public BCMacEngine(org.bouncycastle.crypto.Mac mac, org.bouncycastle.crypto.CipherParameters params) 构造- Parameters:
mac-Macparams- 参数,例如密钥可以用KeyParameter
-
-
Method Details
-
init
public BCMacEngine init(org.bouncycastle.crypto.Mac mac, org.bouncycastle.crypto.CipherParameters params) 初始化- Parameters:
mac- 摘要算法params- 参数,例如密钥可以用KeyParameter- Returns:
- this
-
getMac
public org.bouncycastle.crypto.Mac getMac()获得Mac- Returns:
Mac
-
update
public void update(byte[] in, int inOff, int len) Description copied from interface:MacEngine加入需要被摘要的内容 -
doFinal
public byte[] doFinal()Description copied from interface:MacEngine结束并生成摘要 -
reset
public void reset()Description copied from interface:MacEngine重置 -
getMacLength
public int getMacLength()Description copied from interface:MacEngine获取MAC算法块大小- Specified by:
getMacLengthin interfaceMacEngine- Returns:
- MAC算法块大小
-
getAlgorithm
Description copied from interface:MacEngine获取当前算法- Specified by:
getAlgorithmin interfaceMacEngine- Returns:
- 算法
-