public final class MessageDigestInputStream extends ObservableInputStream
ObservableInputStream. It creates its own ObservableInputStream.Observer,
which calculates a checksum using a MessageDigest, for example, a SHA-512 sum.
To build an instance, use MessageDigestInputStream.Builder.
See the MessageDigest section in the Java Cryptography Architecture Standard Algorithm Name Documentation for information about standard algorithm names.
You must specify a message digest algorithm name or instance.
Note: Neither ObservableInputStream, nor MessageDigest, are thread safe, so is MessageDigestInputStream.
MessageDigestInputStream.Builder| Modifier and Type | Class and Description |
|---|---|
static class |
MessageDigestInputStream.Builder
Builds new
MessageDigestInputStream. |
static class |
MessageDigestInputStream.MessageDigestMaintainingObserver
Maintains the message digest.
|
ObservableInputStream.AbstractBuilder<T extends ObservableInputStream.AbstractBuilder<T>>, ObservableInputStream.Observerin| Modifier and Type | Method and Description |
|---|---|
static MessageDigestInputStream.Builder |
builder()
Constructs a new
MessageDigestInputStream.Builder. |
MessageDigest |
getMessageDigest()
Gets the
MessageDigest, which is being used for generating the checksum, never null. |
add, close, consume, getObservers, noteClosed, noteDataByte, noteDataBytes, noteError, noteFinished, read, read, read, remove, removeAllObserversafterRead, available, beforeRead, checkOpen, handleIOException, isClosed, mark, markSupported, reset, setReference, skip, unwrappublic static MessageDigestInputStream.Builder builder()
MessageDigestInputStream.Builder.MessageDigestInputStream.Builder.public MessageDigest getMessageDigest()
MessageDigest, which is being used for generating the checksum, never null.
Note: The checksum will only reflect the data, which has been read so far. This is probably not, what you expect. Make sure, that the complete
data has been read, if that is what you want. The easiest way to do so is by invoking ObservableInputStream.consume().