|
// Use of this source code is governed by an ISC
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package hash
|
|
|
|
import "io"
|
|
|
|
type Hash interface {
|
|
// Write (via the embedded io.Writer interface) adds more
|
|
// data to the running hash. It never returns an error.
|
|
io.Writer
|
|
|
|
// Reset resets the Hash to its initial state.
|
|
Reset()
|
|
|
|
// Sum appends the current hash to dst and returns the result
|
|
// as a slice. It does not change the underlying hash state.
|
|
Sum(dst []byte) []byte
|
|
|
|
// 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
|
|
}
|