模块  java.base
软件包  java.security

Class DigestOutputStream

  • 实现的所有接口
    CloseableFlushableAutoCloseable

    public class DigestOutputStreamextends 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 然后,此方法将字节写入输出流,阻塞直到实际写入字节。
        重写:
        write在课程 FilterOutputStream
        参数
        b - 用于更新和写入输出流的字节。
        异常
        IOException - 如果发生I / O错误。
        另请参见:
        MessageDigest.update(byte)
      • write

        public void write​(byte[] b,                  int off,                  int len)           throws IOException
        使用指定的子数组更新消息摘要(如果启用了摘要功能),并且无论如何都将子数组写入输出流。 也就是说,如果启用了摘要功能(参见on ),则此方法update在与此流关联的消息摘要上调用update ,并将其传递给子流规范。 然后,此方法将子数组字节写入输出流,阻塞直到实际写入字节。
        重写:
        write ,类 FilterOutputStream
        参数
        b - 包含要用于更新和写入输出流的子数组的数组。
        off - 要更新和写入的第一个字节的偏移量为 b
        len - 从 b更新和写入的数据的字节数,从偏移量 off开始。
        异常
        IOException - 如果发生I / O错误。
        另请参见:
        MessageDigest.update(byte[], int, int)
      • on

        public void on​(boolean on)
        打开或关闭摘要功能。 默认为打开。 当它打开时,对write方法之一的调用会导致消息摘要的更新。 但是当它关闭时,消息摘要不会更新。
        参数
        on - 如果打开摘要功能, on true;如果将其关闭, on false。
      • toString

        public String toString()
        打印此摘要输出流及其关联的消息摘要对象的字符串表示形式。
        重写:
        toString在课程 Object
        结果
        对象的字符串表示形式。