Source File
	hash.go
Belonging Package
	hash
// Copyright 2009 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.// Package hash provides interfaces for hash functions.package hashimport// Hash is the common interface implemented by all hash functions.//// Hash implementations in the standard library (e.g. [hash/crc32] and// [crypto/sha256]) implement the [encoding.BinaryMarshaler] and// [encoding.BinaryUnmarshaler] interfaces. Marshaling a hash implementation// allows its internal state to be saved and used for additional processing// later, without having to re-write the data previously written to the hash.// The hash state may contain portions of the input in its original form,// which users are expected to handle for any possible security implications.//// Compatibility: Any future changes to hash or crypto packages will endeavor// to maintain compatibility with state encoded using previous versions.// That is, any released versions of the packages should be able to// decode data written with any previously released version,// subject to issues such as security fixes.// See the Go compatibility document for background: https://golang.org/doc/go1compattype 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 {HashSum32() uint32}// Hash64 is the common interface implemented by all 64-bit hash functions.type Hash64 interface {HashSum64() uint64}
|  | The pages are generated with Golds v0.7.6. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |