Unify Hash with a hash for the bytes sent to or read from
HashStream. Note that the hash is computed on the stream
buffers. If the stream is an output stream, it is first flushed and the
Digest represents the hash at the current location. If the stream is an
input stream the Digest represents the hash of the processed input
including the already buffered data.