- java.lang.Object
-
- javax.crypto.MacSpi
-
public abstract class MacSpi extends Object
此类定义Mac
类的 ( SPI )。 此类中的所有抽象方法必须由希望提供特定MAC算法实现的每个加密服务提供者实现。实现可以自由地实现Cloneable接口。
- 从以下版本开始:
- 1.4
-
-
构造方法摘要
构造方法 构造器 描述 MacSpi()
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 Object
clone()
如果实现是可复制的,则返回克隆。protected abstract byte[]
engineDoFinal()
完成MAC计算并重置MAC以供进一步使用,保持MAC初始化的密钥。protected abstract int
engineGetMacLength()
以字节为单位返回MAC的长度。protected abstract void
engineInit(Key key, AlgorithmParameterSpec params)
使用给定(秘密)密钥和算法参数初始化MAC。protected abstract void
engineReset()
重置MAC以供进一步使用,保持MAC初始化的密钥。protected abstract void
engineUpdate(byte input)
处理给定的字节。protected abstract void
engineUpdate(byte[] input, int offset, int len)
处理第一len
字节input
,起始于offset
以下。protected void
engineUpdate(ByteBuffer input)
处理input.remaining()
在ByteBuffer的字节input
,起始于input.position()
。
-
-
-
方法详细信息
-
engineGetMacLength
protected abstract int engineGetMacLength()
以字节为单位返回MAC的长度。- 结果
- MAC长度,以字节为单位。
-
engineInit
protected abstract void engineInit(Key key, AlgorithmParameterSpec params) throws InvalidKeyException, InvalidAlgorithmParameterException
使用给定(秘密)密钥和算法参数初始化MAC。- 参数
-
key
- (秘密)密钥。 -
params
- 算法参数。 - 异常
-
InvalidKeyException
- 如果给定密钥不适合初始化此MAC。 -
InvalidAlgorithmParameterException
- 如果给定的算法参数不适合此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初始化的密钥。
-
clone
public Object clone() throws CloneNotSupportedException
如果实现是可复制的,则返回克隆。- 重写:
-
clone
,类Object
- 结果
- 如果实现是可复制的,则为克隆。
- 异常
-
CloneNotSupportedException
- 如果在不支持Cloneable
的实现上调用此方法。 - 另请参见:
-
Cloneable
-
-