Package hash


Package hash provides interfaces for hash functions.


Package files


type HashSource

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.

        // 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.

        // 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

type Hash32Source

Hash32 is the common interface implemented by all 32-bit hash functions.

type Hash32 interface {
        Sum32() uint32

type Hash64Source

Hash64 is the common interface implemented by all 64-bit hash functions.

type Hash64 interface {
        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.