Class MD5OutputStream

All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

public class MD5OutputStream extends FilterOutputStream
Implements MD5 functionality on a stream. More information about this class is available from ostermiller.org.

This class produces a 128-bit "fingerprint" or "message digest" for all data written to this stream. It is conjectured that it is computationally infeasible to produce two messages having the same message digest, or to produce any message having a given pre-specified target message digest. The MD5 algorithm is intended for digital signature applications, where a large file must be "compressed" in a secure manner before being encrypted with a private (secret) key under a public-key cryptosystem such as RSA.

For more information see RFC1321.

Since:
ostermillerutils 1.00.00
Author:
Santeri Paavolainen http://santtu.iki.fi/programs/md5/, Stephen Ostermiller https://ostermiller.org/contact.pl?regarding=Java+Utilities
See Also:
  • Constructor Details

    • MD5OutputStream

      public MD5OutputStream(OutputStream out)
      Creates MD5OutputStream
      Parameters:
      out - The output stream
      Since:
      ostermillerutils 1.00.00
  • Method Details

    • write

      public void write(int b) throws IOException
      Writes the specified byte to this output stream.
      Overrides:
      write in class FilterOutputStream
      Parameters:
      b - the byte.
      Throws:
      IOException - if an I/O error occurs.
      Since:
      ostermillerutils 1.00.00
    • write

      public void write(byte[] b, int off, int len) throws IOException
      Writes length bytes from the specified byte array starting a offset off to this output stream.
      Overrides:
      write in class FilterOutputStream
      Parameters:
      b - the data.
      off - the start offset in the data.
      len - the number of bytes to write.
      Throws:
      IOException - if an I/O error occurs.
      Since:
      ostermillerutils 1.00.00
    • getHash

      public byte[] getHash()
      Returns array of bytes representing hash of the stream so far.
      Returns:
      Array of 16 bytes, the hash of all written bytes.
      Since:
      ostermillerutils 1.00.00
    • getHashString

      public String getHashString()
      Get a 32-character hex representation representing hash of the stream so far.
      Returns:
      A string containing the hash of all written bytes.
      Since:
      ostermillerutils 1.00.00