Zum Inhalt springen
uencoder

xxHash

xxHash ist der extrem schnelle, nichtkryptografische Hash von Yann Collet, der auf modernen CPUs an Speicherbandbreitengrenzen heranreicht und mit LZ4/Zstd-Kompression eingesetzt wird.

Zweck

RAM-bandbreitenartiges, ultrastarkes nichtkryptografisches Hashing für hochperformante Checksummen und Sharding bieten.

Mechanismus

XXH32/XXH64 halten 4 Akkumulatoren, eine Runde je 16 Bytes: acc = acc ⊕ (input × prime); acc = rotl(acc, 13) × prime. Die Akkumulatoren werden am Ende gemergt und avalancheartig verteilt. XXH3 nutzt AES-Hardwarebeschleunigung für noch mehr Tempo.

Anwendungsfälle

  • Zstd/LZ4-Kompressionsprüfung
  • Rust-xxHash-Crate
  • Hochfrequente Hashtabellen
  • Game-Engine-Interna

Beispiele

  • Eingabe
    hello
    Output
    0x391c7cb6

    XXH32

Häufige Fehler

Using xxHash for cryptographic authentication
xxHash is not cryptographic; use HMAC

Verwandte Begriffe

Verwandte Tools

References