package hash

import "hash"

Package hash provides interfaces for hash functions.

Index

Types

type Hash

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
}

Hash is the common interface implemented by all hash functions.

type Hash32

type Hash32 interface {
	Hash
	Sum32() uint32
}

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

type Hash64

type Hash64 interface {
	Hash
	Sum64() uint64
}

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

Source Files

hash.go

Directories

PathSynopsis
hash/adler32Package adler32 implements the Adler-32 checksum.
hash/crc32Package crc32 implements the 32-bit cyclic redundancy check, or CRC-32, checksum.
hash/crc64Package crc64 implements the 64-bit cyclic redundancy check, or CRC-64, checksum.
hash/fnvPackage fnv implements FNV-1 and FNV-1a, non-cryptographic hash functions created by Glenn Fowler, Landon Curt Noll, and Phong Vo.
Version
v1.2.2
Published
May 5, 2014
Platform
windows/amd64
Imports
1 packages
Last checked
58 seconds ago

Tools for package owners.