|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.security
类 DigestInputStream
java.lang.Object java.io.InputStream java.io.FilterInputStream java.security.DigestInputStream
- 所有已实现的接口:
- Closeable
-
public class DigestInputStream
- extends FilterInputStream
使用通过流的位更新关联消息摘要的透明流。
要完成消息摘要计算,先要调用此摘要输入流的一个 read
方法,之后在关联的消息摘要上调用一个 digest
方法。
开启或关闭此流都是可能的(请参见 on
)。开启时,调用 read
方法之一将导致消息摘要的更新。但是关闭时,不更新消息摘要。流在默认情况下是开启的。
注意,摘要对象只能计算一个摘要(参见 MessageDigest
),因此,为了计算中间摘要,调用方应该保留到摘要对象的句柄并为要计算的每一个摘要复制该对象,不改动原始摘要。
- 另请参见:
-
MessageDigest
,DigestOutputStream
字段摘要 | |
---|---|
protected MessageDigest |
digest 与此流关联的消息摘要。 |
从类 java.io.FilterInputStream 继承的字段 |
---|
in |
构造方法摘要 | |
---|---|
DigestInputStream(InputStream stream, MessageDigest digest) 使用指定的输入流和消息摘要创建一个摘要输入流。 |
方法摘要 | |
---|---|
MessageDigest |
getMessageDigest() 返回与此流关联的消息摘要。 |
void |
on(boolean on) 开启或关闭摘要功能。 |
int |
read() 读取字节并更新消息摘要(如果开启了摘要功能)。 |
int |
read(byte[] b, int off, int len) 读入字节数组并更新消息摘要(如果开启了摘要功能)。 |
void |
setMessageDigest(MessageDigest digest) 将指定的消息摘要与此流相关联。 |
String |
toString() 打印此摘要输入流及其关联的消息摘要对象的字符串表示形式。 |
从类 java.io.FilterInputStream 继承的方法 |
---|
available, close, mark, markSupported, read, reset, skip |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
digest
protected MessageDigest digest
-
与此流关联的消息摘要。
构造方法详细信息 |
---|
DigestInputStream
public DigestInputStream(InputStream stream, MessageDigest digest)
-
使用指定的输入流和消息摘要创建一个摘要输入流。
- 参数:
-
stream
- 输入流。 -
digest
- 要与此流关联的消息摘要。
方法详细信息 |
---|
getMessageDigest
public MessageDigest getMessageDigest()
- 返回与此流关联的消息摘要。
-
- 返回:
- 与此流关联的消息摘要。
- 另请参见:
-
setMessageDigest(java.security.MessageDigest)
setMessageDigest
public void setMessageDigest(MessageDigest digest)
- 将指定的消息摘要与此流相关联。
-
- 参数:
-
digest
- 要与此流关联的消息摘要。 - 另请参见:
-
getMessageDigest()
read
public int read() throws IOException
-
读取字节并更新消息摘要(如果开启了摘要功能)。即此方法从输入流读取字节,在实际读取字节前一直为阻塞状态。如果开启摘要功能(参见
on
),则此方法将在与此流关联的消息摘要上调用update
,将读取的字节传递给该方法。 -
- 覆盖:
-
类
FilterInputStream
中的read
-
- 返回:
- 读取的字节。
- 抛出:
-
IOException
- 如果发生 I/O 错误。 - 另请参见:
-
MessageDigest.update(byte)
read
public int read(byte[] b, int off, int len) throws IOException
-
读入字节数组并更新消息摘要(如果开启了摘要功能)。即此方法从输入流将至多
len
个字节读入数组b
,从偏移量off
开始。此方法在实际读取数据前一直阻塞。如果开启摘要功能(参见on
),则此方法将在与此流关联的消息摘要上调用update
,将数据传递给该方法。 -
- 覆盖:
-
类
FilterInputStream
中的read
-
- 参数:
-
b
- 从中读取数据的数组。 -
off
-b
中的偏移量,应将数据从此处开始放入数组。 -
len
- 从输入流读入 b 的最大字节数,从偏移量off
开始。 - 返回:
-
读取的实际字节数。如果在读取
len
个字节前到达了流的末尾,则其小于len
。如果因为进行调用时已经到达了流的末尾而没有读取任何字节,则返回 -1。 - 抛出:
-
IOException
- 如果发生 I/O 错误。 - 另请参见:
-
MessageDigest.update(byte[], int, int)
on
public void on(boolean on)
-
开启或关闭摘要功能。默认为开启。开启时,调用
read
方法之一将导致消息摘要的更新。但是关闭时,不更新消息摘要。 -
- 参数:
-
on
- 为 true 表示开启摘要功能,为 false 表示关闭。
toString
public String toString()
所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |