Mit diesem Online-Tool können Sie den Hash xxh3 einer beliebigen Zeichenkette erzeugen.
XXH3 Länge ist 16 Zeichen
Hash verfügbar
MD2 Hash, MD4 Hash, MD5 Hash, SHA1 Hash, SHA224 Hash, SHA256 Hash, SHA384 Hash, SHA512/224 Hash, SHA512/256 Hash, SHA512 Hash, SHA3-224 Hash, SHA3-256 Hash, SHA3-384 Hash, SHA3-512 Hash, RIPEMD128 Hash, RIPEMD160 Hash, RIPEMD256 Hash, RIPEMD320 Hash, WHIRLPOOL Hash, TIGER128,3 Hash, TIGER160,3 Hash, TIGER192,3 Hash, TIGER128,4 Hash, TIGER160,4 Hash, TIGER192,4 Hash, SNEFRU Hash, SNEFRU256 Hash, GOST Hash, GOST-CRYPTO Hash, ADLER32 Hash, CRC32 Hash, CRC32B Hash, CRC32C Hash, FNV132 Hash, FNV1A32 Hash, FNV164 Hash, FNV1A64 Hash, JOAAT Hash, MURMUR3A Hash, MURMUR3C Hash, MURMUR3F Hash, XXH32 Hash, XXH64 Hash, XXH3 Hash, XXH128 Hash, HAVAL128,3 Hash, HAVAL160,3 Hash, HAVAL192,3 Hash, HAVAL224,3 Hash, HAVAL256,3 Hash, HAVAL128,4 Hash, HAVAL160,4 Hash, HAVAL192,4 Hash, HAVAL224,4 Hash, HAVAL256,4 Hash, HAVAL128,5 Hash, HAVAL160,5 Hash, HAVAL192,5 Hash, HAVAL224,5 Hash, HAVAL256,5 Hash,
Was ist XXH3?
XXH3 ist der modernste Hash-Algorithmus der xxHash-Familie, der für moderne CPU-Architekturen entwickelt wurde. Es handelt sich um eine nicht-kryptografische Hash-Funktion, die ihre Vorgänger (XXH32 und XXH64) deutlich übertrifft, indem sie fortschrittliche Befehlssätze wie SIMD (Single Instruction, Multiple Data) und ausgefeilte Parallelverarbeitung nutzt. XXH3 ist in der Lage, sowohl eine 64-Bit- als auch eine 128-Bit-Hash-Ausgabe zu erzeugen und bietet damit eine flexible Lösung für hochleistungsfähige Datenverarbeitung, Hash-Maps und Datenintegritätsprüfungen.
Wie funktioniert der XXH3-Hash?
XXH3 wurde entwickelt, um den Durchsatz zu maximieren, indem Verzögerungen in der CPU-Pipeline minimiert werden:
- Initialisierung: Es initialisiert einen großen internen Zustand, wodurch es mehrere Datenblöcke gleichzeitig verarbeiten kann.
- Vektorverarbeitung (SIMD): Im Gegensatz zu XXH32/64, die Daten mit Standardregistern verarbeiten, nutzt XXH3 SIMD-Befehle (wie AVX2 oder NEON). Dadurch kann der Algorithmus in einem einzigen Taktzyklus Berechnungen an mehreren Datenelementen durchführen.
- Parallele Akkumulation: Es unterhält mehrere Akkumulatoren, die parallel arbeiten. Dieser Ansatz kaschiert Speicherverspätungen effektiv, da die CPU Teile des Hashs berechnen kann, während sie darauf wartet, dass weitere Daten aus dem RAM abgerufen werden.
- Finalisierung (Avalanche): Nach der Verarbeitung des Datenstroms wendet XXH3 eine hochoptimierte „Avalanche“-Mischphase an. Dies stellt sicher, dass selbst die kleinste Bitänderung in der Eingabe zu einem völlig anderen 128-Bit- (oder 64-Bit-)Digest führt.
Unterschiede: XXH3 vs. XXH32 und XXH64
- Durchsatz und Leistung:
XXH3 ist deutlich überlegen: Auf modernen CPUs ist XXH3 oft 2- bis 3-mal schneller als XXH64 und deutlich schneller als XXH32. Es ist darauf ausgelegt, die Speicherbandbreite moderner Systeme auszureizen, während die älteren Versionen oft durch die Befehlsausführungsgeschwindigkeit der CPU begrenzt sind.
Architekturauslastung:
- XXH32/64 sind „skalare“ Befehle: Diese verwenden standardmäßige, sequenzielle CPU-Befehle. Sie sind sehr portabel, nutzen jedoch nicht die volle Leistung moderner „Vektor“-Einheiten, die in aktuellen Prozessoren zu finden sind.
XXH3 ist „vektorisiert“: Es wurde speziell für die Verwendung von SIMD-Befehlen entwickelt und ist damit die „native“ Wahl für Hardware der aktuellen Generation (Server, Cloud-Umgebungen und moderne PCs).
Vielseitigkeit:
XXH3 ist vereinheitlicht: Während Sie früher zwischen XXH32 (32-Bit) und XXH64 (64-Bit) wählen mussten, um die gewünschte Ausgabegröße zu erhalten, bietet XXH3 sowohl eine 64-Bit- als auch eine 128-Bit-Ausgabe aus demselben Hochleistungskern.
Kollisionsresistenz:
- XXH3 (128-Bit-Modus): Bietet eine deutlich bessere Kollisionsresistenz als sowohl XXH32 als auch XXH64 und ist damit die bevorzugte Wahl für riesige Datensätze, bei denen selbst seltene Kollisionen inakzeptabel sind.