模块  java.base
软件包  javax.crypto

Class MacSpi


  • public abstract class MacSpiextends Object
    此类定义Mac类的 ( SPI )。 此类中的所有抽象方法必须由希望提供特定MAC算法实现的每个加密服务提供者实现。

    实现可以自由地实现Cloneable接口。

    从以下版本开始:
    1.4
    • 构造方法详细信息

      • MacSpi

        public MacSpi()
    • 方法详细信息

      • engineGetMacLength

        protected abstract int engineGetMacLength()
        以字节为单位返回MAC的长度。
        结果
        MAC长度,以字节为单位。
      • engineUpdate

        protected abstract void engineUpdate​(byte input)
        处理给定的字节。
        参数
        input - 要处理的输入字节。
      • engineUpdate

        protected abstract void engineUpdate​(byte[] input,                                     int offset,                                     int len)
        处理第一 len字节 input ,起始于 offset以下。
        参数
        input - 输入缓冲区。
        offset - 输入开始的 input中的偏移量。
        len - 要处理的字节数。
      • engineUpdate

        protected void engineUpdate​(ByteBuffer input)
        处理input.remaining()在ByteBuffer的字节input ,起始于input.position() 返回时,缓冲区的位置将等于其限制; 它的限制不会改变。

        如果子类比字节数组更有效地处理ByteBuffers,则应考虑重写此方法。

        参数
        input - ByteBuffer
        从以下版本开始:
        1.5
      • engineDoFinal

        protected abstract byte[] engineDoFinal()
        完成MAC计算并重置MAC以供进一步使用,保持MAC初始化的密钥。
        结果
        MAC结果。
      • engineReset

        protected abstract void engineReset()
        重置MAC以供进一步使用,保持MAC初始化的密钥。