所有类
java.security
类 DigestOutputStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.security.DigestOutputStream
- 所有已实现的接口:
- Closeable, Flushable
public class DigestOutputStream
- extends FilterOutputStream
使用通过流的位更新关联消息摘要的透明流。
要完成消息摘要计算,先要调用此摘要输出流的一个 write
方法,之后在关联的消息摘要上调用 digest
方法之一。
开启或关闭此流都是可能的(参见 on
)。开启时,调用 write
方法之一将导致消息摘要的更新。但是关闭时,不更新消息摘要。流在默认情况下是开启的。
- 另请参见:
MessageDigest
, DigestInputStream
digest
protected MessageDigest digest
- 与此流关联的消息摘要。
DigestOutputStream
public DigestOutputStream(OutputStream stream,
MessageDigest digest)
- 使用指定的输出流和消息摘要创建一个摘要输出流。
- 参数:
stream
- 输出流。 digest
- 要与此流关联的消息摘要。
getMessageDigest
public MessageDigest getMessageDigest()
- 返回与此流关联的消息摘要。
- 返回:
- 与此流关联的消息摘要。
- 另请参见:
setMessageDigest(java.security.MessageDigest)
setMessageDigest
public void setMessageDigest(MessageDigest digest)
- 将指定的消息摘要与此流相关联。
- 参数:
digest
- 要与此流关联的消息摘要。 - 另请参见:
getMessageDigest()
write
public void write(int b)
throws IOException
- 使用指定的字节更新消息摘要(如果开启了摘要功能),并将字节写入输出流(不管是否开启了摘要功能)。即如果开启摘要功能(参见
on
),则此方法将在与此流关联的消息摘要上调用 update
,将字节 b
传递给该方法。然后,此方法将字节写入输出流,在实际写入字节前一直为阻塞状态。 - 覆盖:
- 类
FilterOutputStream
中的 write
- 参数:
b
- 要用于更新和写入输出流的字节。 - 抛出:
IOException
- 如果发生 I/O 错误。 - 另请参见:
MessageDigest.update(byte)
write
public void write(byte[] b,
int off,
int len)
throws IOException
- 使用指定的子数组更新消息摘要(如果开启了摘要功能),并将子数组写入输出流(不管是否开启了摘要功能)。即如果开启摘要功能(参见
on
),则此方法将在与此流关联的消息摘要上调用 update
,将子数组规范传递给该方法。然后,此方法将子数组字节写入输出流,在实际写入字节前一直为阻塞状态。 - 覆盖:
- 类
FilterOutputStream
中的 write
- 参数:
b
- 要用于更新和写入输出流的包含子数组的数组。 off
- 要更新和写入的第一个字节在 b
中的偏移量。 len
- 要根据 b
更新和写入的数据的字节数,从偏移量 off
开始。 - 抛出:
IOException
- 如果发生 I/O 错误。 - 另请参见:
MessageDigest.update(byte[], int, int)
on
public void on(boolean on)
- 开启或关闭摘要功能。默认为开启。开启时,调用
write
方法之一将导致消息摘要的更新。但是关闭时,不更新消息摘要。 - 参数:
on
- 为 true 表示开启摘要功能,为 false 表示关闭。
toString
public String toString()
- 打印此摘要输出流及其关联的消息摘要对象的字符串表示形式。
- 覆盖:
- 类
Object
中的 toString
- 返回:
- 该对象的字符串表示形式。
所有类