Class BCMacEngine

java.lang.Object
org.aoju.bus.crypto.digest.mac.BCMacEngine
All Implemented Interfaces:
MacEngine
Direct Known Subclasses:
BCHMacEngine, CBCBlockCipher

public class BCMacEngine extends Object implements MacEngine
BouncyCastle的MAC算法实现引擎,使用Mac 实现摘要 当引入BouncyCastle库时自动使用其作为Provider
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • BCMacEngine

      public BCMacEngine(org.bouncycastle.crypto.Mac mac, org.bouncycastle.crypto.CipherParameters params)
      构造
      Parameters:
      mac - Mac
      params - 参数,例如密钥可以用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
      加入需要被摘要的内容
      Specified by:
      update in interface MacEngine
      Parameters:
      in - 内容
      inOff - 内容起始位置
      len - 内容长度
    • doFinal

      public byte[] doFinal()
      Description copied from interface: MacEngine
      结束并生成摘要
      Specified by:
      doFinal in interface MacEngine
      Returns:
      摘要内容
    • reset

      public void reset()
      Description copied from interface: MacEngine
      重置
      Specified by:
      reset in interface MacEngine
    • getMacLength

      public int getMacLength()
      Description copied from interface: MacEngine
      获取MAC算法块大小
      Specified by:
      getMacLength in interface MacEngine
      Returns:
      MAC算法块大小
    • getAlgorithm

      public String getAlgorithm()
      Description copied from interface: MacEngine
      获取当前算法
      Specified by:
      getAlgorithm in interface MacEngine
      Returns:
      算法