当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)

类 java.security.DigestInputStream

java.lang.Object
   |
   +----java.io.InputStream
           |
           +----java.io.FilterInputStream
                   |
                   +----java.security.DigestInputStream

public class DigestInputStream
extends FilterInputStream

一个透明的流,它用经过这个流的比特修改与之相链的消息摘要。

为了完成消息摘要的计算,在调用该摘要输入流的一个 read 方法后,调用一个相关消息摘要的 digest 方法。

可以打开或关闭这个流 (参见 on)。当它打开时,调用 read 将得到更新的消息摘要。但当它关闭时,不更新消息摘要。流的缺省状态是打开。

注意摘要对象只计算一个摘要 ( 参见 MessageDigest),为了计算中间的摘要,调用者必须保持该摘要的句柄,并为每个要计算的摘要复制一个摘要对象,而不需要动原始的摘要对象。

参见:
MessageDigest, DigestOutputStream

变量索引

digest
与这个流相联的消息摘要。

构造子索引

DigestInputStream(InputStream, MessageDigest)
用指定的输入流和消息摘要创建一个摘要输入流。

方法索引

getMessageDigest()
返回与这个流相联的消息摘要。
on(boolean)
启动或禁止这个摘要功能。
read()
读取一个字节,并修改该消息摘要 ( 如果启动该摘要功能 )。
read(byte[], int, int)
读入一个字节数组,并修改该消息摘要 ( 如果启动该摘要功能 )。
setMessageDigest(MessageDigest)
将指定的消息摘要与这个流相联。
toString()
打印该摘要输入流和与之相联的消息摘要对象的字符串表示。

变量

digest
 protected MessageDigest digest
与这个流相联的消息摘要。


构造子

DigestInputStream
 public DigestInputStream(InputStream stream,
                          MessageDigest digest)
用指定的输入流和消息摘要创建一个摘要输入流。

参数:
strea - 输入流。
digest - 与这个流相联的消息摘要。

方法

getMessageDigest
 public MessageDigest getMessageDigest()
返回与这个流相联的消息摘要。

返回值:
与这个流相联的消息摘要。
setMessageDigest
 public void setMessageDigest(MessageDigest digest)
将指定的消息摘要与这个流相联。

参数:
digest - 与这个流相联的消息摘要。
read
 public int read() throws IOException
读取一个字节,并修改该消息摘要 ( 如果启动该摘要功能 )。 即,该方法从输入流读一个字节,并阻塞等待实际读到该字节。 如果启动了摘要功能 ( 参见 on),该方法调用与这个流相联的消息摘要的 update,并将读到的字节传给它。

返回值:
读取的字节。
抛出: IOException
如果发生一个 I/O 错误。
覆盖:
FilterInputStream 中的 read
参见:
update
read
 public int read(byte b[],
                 int off,
                 int len) throws IOException
读入一个字节数组,并修改该消息摘要 ( 如果启动该摘要功能 ) 。 即,该方法把 len 个字节从输入流读到数组 b 中,从偏移量为 off 处开始存放。在实际读入数据之前该方法将阻塞等待。如果启动了该摘要功能 ( 参见 on),该方法调用与这个流相联的消息摘要的 update,并将读到数据传给它。

参数:
b - 存放读入数据的数组。
off - 数组 b 中开始存放数据的偏移量。
len - 从输入流中读入并从偏移量 off 开始存放在数组 b 中的最大的字节数。
返回值:
实际读入的字节数。 如果在读入 len 个字节之前到达了流的末尾,它将小于 len 。如果因为当调用时已经到达了流的末尾而没有读入字节,将返回 -1。
抛出: IOException
如果发生一个 I/O 错误。
覆盖:
FilterInputStream 中的 read
参见:
update
on
 public void on(boolean on)
启动或禁止这个摘要功能。 缺省状态为启动。当启动它时,调用 read 将得到更新的信息摘要。 但当禁止它时,不更新消息摘要。

参数:
on - 如果为 true 则启动该摘要功能,如果为 false 则禁止它。
toString
 public String toString()
打印该摘要输入流和与之相联的消息摘要对象的字符串表示。

覆盖:
Object 中的 toString

当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)