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

import "io"

// Hash is the common interface implemented by all hash functions.
// The Write method never returns an error.
// Sum returns the bytes of integer hash codes in big-endian order.
type Hash interface {
	io.Writer;
	Sum() []byte;
	Reset();
	Size() int;	// number of bytes Sum returns
}

// Hash32 is the common interface implemented by all 32-bit hash functions.
type Hash32 interface {
	Hash;
	Sum32() uint32;
}
