Can I concatenate multiple non-crypto hash functions to reduce collision?

This page summarizes the projects mentioned and recommended in the original post on /r/golang

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Mergify - Tired of breaking your main and manually rebasing outdated pull requests?
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • xxh3

    XXH3 algorithm in Go

    xxhash3 can supply hashes up to 128 bits and supports seeds and has pretty good speed on short inputs.

  • highwayhash

    Native Go version of HighwayHash with optimized assembly implementations on Intel and ARM. Able to process over 10 GB/sec on a single core on Intel CPUs - https://en.wikipedia.org/wiki/HighwayHash (by minio)

    highwayhash (alt) provides 256 bits. Fast mainly for larger inputs and supports seeds.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • go-highway

    Go implementation of Google's HighwayHash

    highwayhash (alt) provides 256 bits. Fast mainly for larger inputs and supports seeds.

  • sha256-simd

    Accelerate SHA256 computations in pure Go using AVX512, SHA Extensions for x86 and ARM64 for ARM. On AVX512 it provides an up to 8x improvement (over 3 GB/s per core). SHA Extensions give a performance boost of close to 4x over native.

    SHA256 is high quality but typically a bit slower. Next Go version will have faster SHA256 on some amd64 CPUs - until then you can try sha256-simd which offers the same.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts