类 HashingSink

java.lang.Object
com.lark.oapi.okio.ForwardingSink
com.lark.oapi.okio.HashingSink
所有已实现的接口:
Sink, Closeable, Flushable, AutoCloseable

public final class HashingSink extends ForwardingSink
A sink that computes a hash of the full stream of bytes it has accepted. To use, create an instance with your preferred hash algorithm. Write all of the data to the sink and then call 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();
 
  • 方法详细资料

    • md5

      public static HashingSink md5(Sink sink)
      Returns a sink that uses the obsolete MD5 hash algorithm to produce 128-bit hashes.
    • sha1

      public static HashingSink sha1(Sink sink)
      Returns a sink that uses the obsolete SHA-1 hash algorithm to produce 160-bit hashes.
    • sha256

      public static HashingSink sha256(Sink sink)
      Returns a sink that uses the SHA-256 hash algorithm to produce 256-bit hashes.
    • sha512

      public static HashingSink sha512(Sink sink)
      Returns a sink that uses the SHA-512 hash algorithm to produce 512-bit hashes.
    • hmacSha1

      public static HashingSink hmacSha1(Sink sink, ByteString key)
      Returns a sink that uses the obsolete SHA-1 HMAC algorithm to produce 160-bit hashes.
    • hmacSha256

      public static HashingSink hmacSha256(Sink sink, ByteString key)
      Returns a sink that uses the SHA-256 HMAC algorithm to produce 256-bit hashes.
    • hmacSha512

      public static HashingSink hmacSha512(Sink sink, ByteString key)
      Returns a sink that uses the SHA-512 HMAC algorithm to produce 512-bit hashes.
    • write

      public void write(Buffer source, long byteCount) throws IOException
      从接口复制的说明: Sink
      Removes byteCount bytes from source and appends them to this.
      指定者:
      write 在接口中 Sink
      覆盖:
      write 在类中 ForwardingSink
      抛出:
      IOException
    • hash

      public final ByteString hash()
      Returns the hash of the bytes accepted thus far and resets the internal state of this sink.

      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.