xxHash is a very fast hashing algorithm (see the details here). This package implements xxHash in pure Go.
This package follows the hash interfaces (hash.Hash32 and hash.Hash64).
import (
"fmt"
"github.com/pierrec/xxHash/xxHash32"
)
x := xxHash32.New(0xCAFE) // hash.Hash32
x.Write([]byte("abc"))
x.Write([]byte("def"))
fmt.Printf("%x\n", x.Sum32())
x.Reset()
x.Write([]byte("abc"))
fmt.Printf("%x\n", x.Sum32())
A simple command line utility is provided to hash files content under the xxhsum directory.