Class DefaultHMacEngine

java.lang.Object
org.aoju.bus.crypto.digest.mac.DefaultHMacEngine
All Implemented Interfaces:
MacEngine

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

    • DefaultHMacEngine

      public DefaultHMacEngine(String algorithm, byte[] key)
      构造
      Parameters:
      algorithm - 算法
      key - 密钥
    • DefaultHMacEngine

      public DefaultHMacEngine(String algorithm, Key key)
      构造
      Parameters:
      algorithm - 算法
      key - 密钥
    • DefaultHMacEngine

      public DefaultHMacEngine(String algorithm, Key key, AlgorithmParameterSpec spec)
      构造
      Parameters:
      algorithm - 算法
      key - 密钥
      spec - AlgorithmParameterSpec
  • Method Details

    • init

      public DefaultHMacEngine init(String algorithm, byte[] key)
      初始化
      Parameters:
      algorithm - 算法
      key - 密钥
      Returns:
      this
    • init

      public DefaultHMacEngine init(String algorithm, Key key)
      初始化
      Parameters:
      algorithm - 算法
      key - 密钥 SecretKey
      Returns:
      this
      Throws:
      org.aoju.bus.core.exception.CryptoException - Cause by IOException
    • init

      public DefaultHMacEngine init(String algorithm, Key key, AlgorithmParameterSpec spec)
      初始化
      Parameters:
      algorithm - 算法
      key - 密钥 SecretKey
      spec - AlgorithmParameterSpec
      Returns:
      this
      Throws:
      org.aoju.bus.core.exception.CryptoException - Cause by IOException
    • getMac

      public Mac getMac()
      获得 Mac
      Returns:
      Mac
    • update

      public void update(byte[] in)
      Description copied from interface: MacEngine
      加入需要被摘要的内容
      Specified by:
      update in interface MacEngine
      Parameters:
      in - 内容
    • 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:
      算法