Most visited

Recently visited

Added in API level 1

MessageDigestSpi

public abstract class MessageDigestSpi
extends Object

java.lang.Object
   ↳ java.security.MessageDigestSpi
Known Direct Subclasses


此类为MessageDigest类定义 ( SPI ),该类提供消息摘要算法的功能,例如MD5或SHA。 消息摘要是安全的单向散列函数,可以采用任意大小的数据并输出固定长度的散列值。

该类中的所有抽象方法必须由希望提供特定消息摘要算法的实现的加密服务提供者来实现。

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

也可以看看:

Summary

Public constructors

MessageDigestSpi()

Public methods

Object clone()

如果实现可复制,则返回一个克隆。

Protected methods

int engineDigest(byte[] buf, int offset, int len)

通过执行最终操作(如填充)完成散列计算。

abstract byte[] engineDigest()

通过执行最终操作(如填充)完成散列计算。

int engineGetDigestLength()

以字节为单位返回摘要长度。

abstract void engineReset()

重置摘要以供进一步使用。

void engineUpdate(ByteBuffer input)

使用指定的ByteBuffer更新摘要。

abstract void engineUpdate(byte input)

使用指定的字节更新摘要。

abstract void engineUpdate(byte[] input, int offset, int len)

使用指定的字节数组从指定的偏移量开始更新摘要。

Inherited methods

From class java.lang.Object

Public constructors

MessageDigestSpi

Added in API level 1
MessageDigestSpi ()

Public methods

clone

Added in API level 1
Object clone ()

如果实现可复制,则返回一个克隆。

Returns
Object a clone if the implementation is cloneable.
Throws
CloneNotSupportedException if this is called on an implementation that does not support Cloneable.

Protected methods

engineDigest

Added in API level 1
int engineDigest (byte[] buf, 
                int offset, 
                int len)

通过执行最终操作(如填充)完成散列计算。 一旦engineDigest ,应该重置引擎(请参阅engineReset )。 重置是发动机实施者的责任。 这个方法应该是抽象的,但是我们把它具体化为二进制兼容性。 有知识的提供者应该重写这个方法。

Parameters
buf byte: the output buffer in which to store the digest
offset int: offset to start from in the output buffer
len int: number of bytes within buf allotted for the digest. Both this default implementation and the SUN provider do not return partial digests. The presence of this parameter is solely for consistency in our API's. If the value of this parameter is less than the actual digest length, the method will throw a DigestException. This parameter is ignored if its value is greater than or equal to the actual digest length.
Returns
int the length of the digest stored in the output buffer.
Throws
DigestException if an error occurs.

engineDigest

Added in API level 1
byte[] engineDigest ()

通过执行最终操作(如填充)完成散列计算。 一旦engineDigest ,应该重置引擎(请参阅engineReset )。 重置是发动机实施者的责任。

Returns
byte[] the array of bytes for the resulting hash value.

engineGetDigestLength

Added in API level 1
int engineGetDigestLength ()

以字节为单位返回摘要长度。

这个具体的方法已被添加到这个以前定义的抽象类。 (为了向后兼容,它不能是抽象的。)

默认行为是返回0。

提供者可以重写此方法以返回摘要长度。

Returns
int the digest length in bytes.

engineReset

Added in API level 1
void engineReset ()

重置摘要以供进一步使用。

engineUpdate

Added in API level 1
void engineUpdate (ByteBuffer input)

使用指定的ByteBuffer更新摘要。 摘要采用更新的input.remaining()起始字节input.position() 返回时,缓冲区的位置将等于它的极限; 其限制不会改变。

Parameters
input ByteBuffer: the ByteBuffer

engineUpdate

Added in API level 1
void engineUpdate (byte input)

使用指定的字节更新摘要。

Parameters
input byte: the byte to use for the update.

engineUpdate

Added in API level 1
void engineUpdate (byte[] input, 
                int offset, 
                int len)

使用指定的字节数组从指定的偏移量开始更新摘要。

Parameters
input byte: the array of bytes to use for the update.
offset int: the offset to start from in the array of bytes.
len int: the number of bytes to use, starting at offset.

Hooray!