Module  java.base
软件包  java.security

Class DigestOutputStream

  • All Implemented Interfaces:
    CloseableFlushableAutoCloseable


    public class DigestOutputStream
    extends FilterOutputStream
    透明流,使用通过流的位更新关联的消息摘要。

    要完成消息摘要计算,则需要调用一个digest方法对相关消息的调用此摘要输出流的一个消化后write方法。

    可以打开或关闭此流(参见on )。 当它打开时,对其中一个write方法的调用会导致消息摘要的更新。 但是当它关闭时,消息摘要不会更新。 默认值为流启用。

    从以下版本开始:
    1.2
    另请参见:
    MessageDigestDigestInputStream
    • 字段详细信息

      • digest

        protected MessageDigest digest
        与此流相关联的消息摘要。
    • 构造方法详细信息

      • DigestOutputStream

        public DigestOutputStream​(OutputStream stream,
                                  MessageDigest digest)
        使用指定的输出流和消息摘要创建摘要输出流。
        参数
        stream - 输出流。
        digest - 要与此流关联的消息摘要。
    • 方法详细信息

      • setMessageDigest

        public void setMessageDigest​(MessageDigest digest)
        将指定的消息摘要与此流相关联。
        参数
        digest - 要与此流关联的消息摘要。
        另请参见:
        getMessageDigest()
      • write

        public void write​(int b)
                   throws IOException
        使用指定的字节更新消息摘要(如果摘要功能打开),并且无论如何将该字节写入输出流。 也就是说,如果摘要功能打开(见on ),则该方法调用update与该流相关联的消息摘要,传递字节b 该方法然后将字节写入输出流,阻塞直到字节实际写入。
        重写:
        writeFilterOutputStream
        参数
        b - 要用于更新和写入输出流的字节。
        异常
        IOException - 如果发生I / O错误。
        另请参见:
        MessageDigest.update(byte)
      • write

        public void write​(byte[] b,
                          int off,
                          int len)
                   throws IOException
        使用指定的子阵列更新消息摘要(如果摘要功能打开),并且无论如何将子阵列写入输出流。 也就是说,如果摘要功能打开(见on ),此方法将调用update与此流相关联的消息摘要,传递其子阵列规范。 然后,该方法将子阵列字节写入输出流,阻塞直到字节实际写入。
        重写:
        writeFilterOutputStream
        参数
        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​()
        打印此摘要输出流及其相关消息摘要对象的字符串表示形式。
        重写:
        toStringObject
        结果
        对象的字符串表示形式。