Package hash provides interfaces for hash functions.
Hash is the common interface implemented by all hash functions.
type Hash interface { // Write (via the embedded io.Writer interface) adds more data to the running hash. // It never returns an error. io.Writer // Sum appends the current hash to b and returns the resulting slice. // It does not change the underlying hash state. Sum(b []byte) []byte // Reset resets the Hash to its initial state. Reset() // Size returns the number of bytes Sum will return. Size() int // BlockSize returns the hash's underlying block size. // The Write method must be able to accept any amount // of data, but it may operate more efficiently if all writes // are a multiple of the block size. BlockSize() int }
Hash32 is the common interface implemented by all 32-bit hash functions.
type Hash32 interface { Hash Sum32() uint32 }
Hash64 is the common interface implemented by all 64-bit hash functions.
type Hash64 interface { Hash Sum64() uint64 }
Name | Synopsis |
---|---|
.. | |
adler32 | Package adler32 implements the Adler-32 checksum. |
crc32 | Package crc32 implements the 32-bit cyclic redundancy check, or CRC-32, checksum. |
crc64 | Package crc64 implements the 64-bit cyclic redundancy check, or CRC-64, checksum. |
fnv | Package fnv implements FNV-1 and FNV-1a, non-cryptographic hash functions created by Glenn Fowler, Landon Curt Noll, and Phong Vo. |
© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
https://golang.org/pkg/hash/