Class MacOutputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable

    public final class MacOutputStream
    extends java.io.OutputStream
    An output stream which calculates a MAC based on the data that is written to it.
    • Constructor Summary

      Constructors 
      Constructor Description
      MacOutputStream​(javax.crypto.Mac mac)
      Base constructor - specify the MAC algorithm to use.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] getMac()
      Execute doFinal() and return the calculated MAC.
      void write​(byte[] bytes, int off, int len)
      Write a block of data of length len starting at offset off in the byte array bytes to the stream.
      void write​(int b)
      Write a single byte to the stream.
      • Methods inherited from class java.io.OutputStream

        close, flush, nullOutputStream, write
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MacOutputStream

        public MacOutputStream​(javax.crypto.Mac mac)
        Base constructor - specify the MAC algorithm to use.
        Parameters:
        mac - the MAC implementation to use as the basis of the stream.
    • Method Detail

      • write

        public void write​(int b)
                   throws java.io.IOException
        Write a single byte to the stream.
        Specified by:
        write in class java.io.OutputStream
        Parameters:
        b - the byte value to write.
        Throws:
        java.io.IOException - in case of failure.
      • write

        public void write​(byte[] bytes,
                          int off,
                          int len)
                   throws java.io.IOException
        Write a block of data of length len starting at offset off in the byte array bytes to the stream.
        Overrides:
        write in class java.io.OutputStream
        Parameters:
        bytes - byte array holding the data.
        off - offset into bytes that the data starts at.
        len - the length of the data block to write.
        Throws:
        java.io.IOException - in case of failure.
      • getMac

        public byte[] getMac()
        Execute doFinal() and return the calculated MAC.
        Returns:
        the MAC calculated from the output written to the stream.