- java.lang.Object
-
- javax.crypto.MacSpi
-
public abstract class MacSpi extends Object
该类定义了Mac
类的 ( SPI )。 该类中的所有抽象方法必须由希望提供特定MAC算法的实现的每个加密服务提供商来实现。实现可以实现Cloneable接口。
- 从以下版本开始:
- 1.4
-
-
构造方法摘要
构造方法 Constructor 描述 MacSpi()
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 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()
字节的ByteBufferinput
,从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()
字节的ByteBufferinput
,从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
。 - 另请参见:
-
Cloneable
-
-