java.security

Class DigestOutputStream

public class DigestOutputStream extends FilterOutputStream

DigestOutputStream is a class that ties an OutputStream with a MessageDigest. The Message Digest is used by the class to update it self as bytes are written to the OutputStream. The updating to the digest depends on the on flag which is set to true by default that tells the class to update the data in the message digest.
Field Summary
protected MessageDigestdigest
The message digest for the DigestOutputStream
Constructor Summary
DigestOutputStream(OutputStream stream, MessageDigest digest)
Constructs a new DigestOutputStream.
Method Summary
MessageDigestgetMessageDigest()
Returns the MessageDigest associated with this DigestOutputStream
voidon(boolean on)
Sets the flag specifying if this DigestOutputStream updates the digest in the write() methods.
voidsetMessageDigest(MessageDigest digest)
Sets the current MessageDigest to current parameter
StringtoString()
Converts the output stream and underlying message digest to a string.
voidwrite(int b)
Updates the hash if the on flag is true and then writes a byte to the underlying output stream.
voidwrite(byte[] b, int off, int len)
Updates the hash if the on flag is true and then writes the bytes to the underlying output stream.

Field Detail

digest

protected MessageDigest digest
The message digest for the DigestOutputStream

Constructor Detail

DigestOutputStream

public DigestOutputStream(OutputStream stream, MessageDigest digest)
Constructs a new DigestOutputStream. It associates a MessageDigest with the stream to compute the stream as data is written.

Parameters: stream An OutputStream to associate this stream with digest A MessageDigest to hash the stream with

Method Detail

getMessageDigest

public MessageDigest getMessageDigest()
Returns the MessageDigest associated with this DigestOutputStream

Returns: The MessageDigest used to hash this stream

on

public void on(boolean on)
Sets the flag specifying if this DigestOutputStream updates the digest in the write() methods. The default is on;

Parameters: on True means it digests stream, false means it does not

setMessageDigest

public void setMessageDigest(MessageDigest digest)
Sets the current MessageDigest to current parameter

Parameters: digest A MessageDigest to associate with this stream

toString

public String toString()
Converts the output stream and underlying message digest to a string.

Returns: A string representing the output stream and message digest.

write

public void write(int b)
Updates the hash if the on flag is true and then writes a byte to the underlying output stream.

Parameters: b A byte to write to the output stream

Throws: IOException if the underlying output stream cannot write the byte, this is thrown.

write

public void write(byte[] b, int off, int len)
Updates the hash if the on flag is true and then writes the bytes to the underlying output stream.

Parameters: b Bytes to write to the output stream off Offset to start to start at in array len Length of data to write

Throws: IOException if the underlying output stream cannot write the bytes, this is thrown.