Package okio
Class HashingSource
java.lang.Object
okio.ForwardingSource
okio.HashingSource
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Source
A source that computes a hash of the full stream of bytes it has supplied. To use, create an
instance with your preferred hash algorithm. Exhaust the source by reading all of its bytes and
then call
hash()
to compute the final hash value.
In this example we use HashingSource
with a BufferedSource
to make reading
from the source easier.
HashingSource hashingSource = HashingSource.sha256(rawSource);
BufferedSource bufferedSource = Okio.buffer(hashingSource);
... // Read all of bufferedSource.
ByteString hash = hashingSource.hash();
-
Method Summary
Modifier and TypeMethodDescriptionfinal ByteString
hash()
Returns the hash of the bytes supplied thus far and resets the internal state of this source.static HashingSource
hmacSha1
(Source source, ByteString key) Returns a sink that uses the obsolete SHA-1 HMAC algorithm to produce 160-bit hashes.static HashingSource
hmacSha256
(Source source, ByteString key) Returns a sink that uses the SHA-256 HMAC algorithm to produce 256-bit hashes.static HashingSource
Returns a sink that uses the obsolete MD5 hash algorithm to produce 128-bit hashes.long
Removes at least 1, and up tobyteCount
bytes from this and appends them tosink
.static HashingSource
Returns a sink that uses the obsolete SHA-1 hash algorithm to produce 160-bit hashes.static HashingSource
Returns a sink that uses the SHA-256 hash algorithm to produce 256-bit hashes.Methods inherited from class okio.ForwardingSource
close, delegate, timeout, toString
-
Method Details
-
md5
Returns a sink that uses the obsolete MD5 hash algorithm to produce 128-bit hashes. -
sha1
Returns a sink that uses the obsolete SHA-1 hash algorithm to produce 160-bit hashes. -
sha256
Returns a sink that uses the SHA-256 hash algorithm to produce 256-bit hashes. -
hmacSha1
Returns a sink that uses the obsolete SHA-1 HMAC algorithm to produce 160-bit hashes. -
hmacSha256
Returns a sink that uses the SHA-256 HMAC algorithm to produce 256-bit hashes. -
read
Description copied from interface:Source
Removes at least 1, and up tobyteCount
bytes from this and appends them tosink
. Returns the number of bytes read, or -1 if this source is exhausted.- Specified by:
read
in interfaceSource
- Overrides:
read
in classForwardingSource
- Throws:
IOException
-
hash
Returns the hash of the bytes supplied thus far and resets the internal state of this source.Warning: This method is not idempotent. Each time this method is called its internal state is cleared. This starts a new hash with zero bytes supplied.
-