pierrec / xxHash

Pure Go implementation of xxHash (32 and 64 bits versions)
BSD 3-Clause "New" or "Revised" License
58 stars 17 forks source link

godoc Build Status

Pure Go implementation of xxHash (32 and 64 bits versions)

Synopsis

xxHash is a very fast hashing algorithm (see the details here). This package implements xxHash in pure Go.

Usage

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())

Command line utility

A simple command line utility is provided to hash files content under the xxhsum directory.