====== xxHash ======
**Extremely fast non-cryptographic hash algorithm**
Ist ein sehr schneller, nicht kryptografischer Hash Algorithmus, der mit RAM Geschwindigkeit läuft.
Dieser Algorithmus sollte nicht im Sicherheitskonzept eingesetzt werden.
Der **xxHash** Algorithmus kann verwendet werden, um festzustellen, ob Daten korrekt übermittelt oder sich noch in dem Zustand befinden, als der Hash berechnet worden ist. xxHash ist schneller als der [[wpde>Zyklische_Redundanzprüfung|CRC]] Algorithmus.
Genauere Vergleiche zur Performance gegen andere Hashfunktionen gibt es auf der Webseite von [[https://xxhash.com/|xxHash]].
===== Installation =====
==== Arch Linux ====
[[aw>Install|Installiert]] das [[ap>xxhash]] Paket.
===== Verwendung =====
siehe [[am>xxhsum.1|xxhsum(1)]]
==== Beispiele ====
=== Berechnen eines XXH3 Hashes von einer Datei ===
Die Verwendung von XXH3 gibt eine Ausgabe im BSD-style wieder.
❯ xxhsum -H3 EndeavourOS_Gemini-2024.04.20.iso
XXH3 (EndeavourOS_Gemini-2024.04.20.iso) = 8c06ecc16f1d3fe0
=== Rekursiv XXH3 Hashes für alle Dateien in einem Verzeichnis erzeugen ===
Das Programm [[:tools:dateisystem:fd:fd|]], kann für alle gefunden Dateien ein Tool wie xxhsum parallel aufrufen.
Sollen unsichtbare Dateien mit eingeschlossen werden, so muss zusätzlich noch die **Option ''-H''** an fd übergeben werden.
❯ fd -t f '.' 'EndeavourOS/' -x xxhsum -H3
XXH3 (EndeavourOS/EndeavourOS_Gemini-2024.04.20.iso.sig) = 677db13355932f21
XXH3 (EndeavourOS/EndeavourOS_Gemini-2024.04.20.iso) = 8c06ecc16f1d3fe0
=== Dateien anhand von Hashwerten prüfen ===
Die Ausgabe der oben genannten Beispiele kann zur späteren Überprüfung der Dateien als Referenz in eine Datei umgeleitet werden:
In diesem Beispiel befindet sich die Aussage mit den Hashes in der Datei xxhases.xxh3
❯ xxhsum -c xxhases.xxh3
EndeavourOS/EndeavourOS_Gemini-2024.04.20.iso.sig: OK
EndeavourOS/EndeavourOS_Gemini-2024.04.20.iso: OK
===== Siehe auch =====
* [[https://xxhash.com/|Projekt Webseite]]
* [[https://www.suletuxe.de/forum/index.php?board=18;action=display;threadid=877|Suletuxe Forum Diskussionsthread]]