APIdia Launch Partner
Top Description Fields Constructors Methods
java.security

public Class DigestOutputStream

extends FilterOutputStream
Class Inheritance
Imports
java.io.FilterOutputStream, .IOException, .OutputStream

A transparent stream that updates the associated message digest using the bits going through the stream.

To complete the message digest computation, call one of the digest methods on the associated message digest after your calls to one of this digest output stream's write methods.

It is possible to turn this stream on or off (see on). When it is on, a call to one of the write methods results in an update on the message digest. But when it is off, the message digest is not updated. The default is for the stream to be on.

Author
Benjamin Renaud
Since
1.2
See Also
MessageDigest, DigestInputStream

Field Summary

Modifier and TypeField and Description
protected MessageDigest
digest

The message digest associated with this stream.

private boolean
Inherited from java.io.FilterOutputStream:
out

Constructor Summary

AccessConstructor and Description
public
DigestOutputStream(OutputStream
the output stream.
stream
,
MessageDigest
the message digest to associate with this stream.
digest
)

Creates a digest output stream, using the specified output stream and message digest.

Method Summary

Modifier and TypeMethod and Description
public MessageDigest

Returns:

the message digest associated with this stream.
getMessageDigest
()

Returns the message digest associated with this stream.

public void
on(boolean
true to turn the digest function on, false to turn it off.
on
)

Turns the digest function on or off.

public void
setMessageDigest(MessageDigest
the message digest to be associated with this stream.
digest
)

Associates the specified message digest with this stream.

public String
toString()

Overrides java.lang.Object.toString.

Prints a string representation of this digest output stream and its associated message digest object.

public void
write(int
the byte to be used for updating and writing to the output stream.
b
)

Overrides java.io.FilterOutputStream.write.

Updates the message digest (if the digest function is on) using the specified byte, and in any case writes the byte to the output stream.

public void
write(byte[]
the array containing the subarray to be used for updating and writing to the output stream.
b
,
int
the offset into b of the first byte to be updated and written.
off
,
int
the number of bytes of data to be updated and written from b, starting at offset off.
len
)

Overrides java.io.FilterOutputStream.write.

Updates the message digest (if the digest function is on) using the specified subarray, and in any case writes the subarray to the output stream.

Inherited from java.io.FilterOutputStream:
closeflushwrite

Field Detail

digestback to summary
protected MessageDigest digest

The message digest associated with this stream.

onback to summary
private boolean on

Constructor Detail

DigestOutputStreamback to summary
public DigestOutputStream(OutputStream stream, MessageDigest digest)

Creates a digest output stream, using the specified output stream and message digest.

Parameters
stream:OutputStream

the output stream.

digest:MessageDigest

the message digest to associate with this stream.

Annotations
@SuppressWarnings:this-escape

Method Detail

getMessageDigestback to summary
public MessageDigest getMessageDigest()

Returns the message digest associated with this stream.

Returns:MessageDigest

the message digest associated with this stream.

See Also
setMessageDigest(java.security.MessageDigest)
onback to summary
public void on(boolean on)

Turns the digest function on or off. The default is on. When it is on, a call to one of the write methods results in an update on the message digest. But when it is off, the message digest is not updated.

Parameters
on:boolean

true to turn the digest function on, false to turn it off.

setMessageDigestback to summary
public void setMessageDigest(MessageDigest digest)

Associates the specified message digest with this stream.

Parameters
digest:MessageDigest

the message digest to be associated with this stream.

See Also
getMessageDigest()
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Prints a string representation of this digest output stream and its associated message digest object.

writeback to summary
public void write(int b) throws IOException

Overrides java.io.FilterOutputStream.write.

Updates the message digest (if the digest function is on) using the specified byte, and in any case writes the byte to the output stream. That is, if the digest function is on (see on), this method calls update on the message digest associated with this stream, passing it the byte b. This method then writes the byte to the output stream, blocking until the byte is actually written.

Parameters
b:int

the byte to be used for updating and writing to the output stream.

Exceptions
IOException:
if an I/O error occurs.
See Also
MessageDigest#update(byte)
writeback to summary
public void write(byte[] b, int off, int len) throws IOException

Overrides java.io.FilterOutputStream.write.

Updates the message digest (if the digest function is on) using the specified subarray, and in any case writes the subarray to the output stream. That is, if the digest function is on (see on), this method calls update on the message digest associated with this stream, passing it the subarray specifications. This method then writes the subarray bytes to the output stream, blocking until the bytes are actually written.

Parameters
b:byte[]

the array containing the subarray to be used for updating and writing to the output stream.

off:int

the offset into b of the first byte to be updated and written.

len:int

the number of bytes of data to be updated and written from b, starting at offset off.

Exceptions
IOException:
if an I/O error occurs.
See Also
MessageDigest#update(byte[], int, int)