public final class HashingSink extends ForwardingSink
hash()
to compute the final hash value.
In this example we use HashingSink
with a BufferedSink
to make writing to the
sink easier.
HashingSink hashingSink = HashingSink.sha256(s);
BufferedSink bufferedSink = Okio.buffer(hashingSink);
... // Write to bufferedSink and either flush or close it.
ByteString hash = hashingSink.hash();
Modifier and Type | Method and Description |
---|---|
ByteString |
hash()
Returns the hash of the bytes accepted thus far and resets the internal state of this sink.
|
static HashingSink |
hmacSha1(Sink sink,
ByteString key)
Returns a sink that uses the obsolete SHA-1 HMAC algorithm to produce 160-bit hashes.
|
static HashingSink |
hmacSha256(Sink sink,
ByteString key)
Returns a sink that uses the SHA-256 HMAC algorithm to produce 256-bit hashes.
|
static HashingSink |
hmacSha512(Sink sink,
ByteString key)
Returns a sink that uses the SHA-512 HMAC algorithm to produce 512-bit hashes.
|
static HashingSink |
md5(Sink sink)
Returns a sink that uses the obsolete MD5 hash algorithm to produce 128-bit hashes.
|
static HashingSink |
sha1(Sink sink)
Returns a sink that uses the obsolete SHA-1 hash algorithm to produce 160-bit hashes.
|
static HashingSink |
sha256(Sink sink)
Returns a sink that uses the SHA-256 hash algorithm to produce 256-bit hashes.
|
static HashingSink |
sha512(Sink sink)
Returns a sink that uses the SHA-512 hash algorithm to produce 512-bit hashes.
|
void |
write(Buffer source,
long byteCount)
Removes
byteCount bytes from source and appends them to this. |
public static HashingSink md5(Sink sink)
public static HashingSink sha1(Sink sink)
public static HashingSink sha256(Sink sink)
public static HashingSink sha512(Sink sink)
public static HashingSink hmacSha1(Sink sink, ByteString key)
public static HashingSink hmacSha256(Sink sink, ByteString key)
public static HashingSink hmacSha512(Sink sink, ByteString key)
public void write(Buffer source, long byteCount) throws IOException
Sink
byteCount
bytes from source
and appends them to this.write
in interface Sink
write
in class ForwardingSink
IOException
public ByteString hash()
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 accepted.
Copyright © 2017. All rights reserved.