Bu çevrimiçi araç, herhangi bir stringin xxh3 hash'ini oluşturmanıza olanak sağlar.
XXH3 uzunluğu 16 karakterdir
Hash mevcut
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,
XXH3 nedir?
XXH3, modern CPU mimarileri için tasarlanmış, xxHash ailesinin en gelişmiş karma algoritmasıdır. SIMD (Tek Komut, Çoklu Veri) gibi gelişmiş komut setlerinden ve sofistike paralel işleme teknolojilerinden yararlanarak, önceki sürümleri (XXH32 ve XXH64) önemli ölçüde geride bırakan, kriptografik olmayan bir hash fonksiyonudur. XXH3, hem 64 bit hem de 128 bit hash çıktısı üretebilir ve yüksek performanslı veri işleme, hash haritaları ve veri bütünlüğü kontrolleri için esnek bir çözüm sunar.
XXH3 hash nasıl çalışır?
XXH3, CPU boru hattındaki duraklamaları en aza indirerek verimi en üst düzeye çıkarmak üzere tasarlanmıştır:
- Başlatma: Büyük bir iç durumu başlatarak birden fazla veri bloğunu aynı anda işleyebilmesini sağlar.
- Vektör İşleme (SIMD): Verileri standart kayıtları kullanarak işleyen XXH32/64'ün aksine, XXH3 SIMD komutlarını (AVX2 veya NEON gibi) kullanır. Bu, algoritmanın tek bir saat döngüsünde birden fazla veri öğesi üzerinde matematiksel işlemler gerçekleştirmesini sağlar.
- Paralel Biriktirme: Paralel çalışan birden fazla biriktiriciyi yönetir. Bu yaklaşım, CPU'nun RAM'den daha fazla verinin getirilmesini beklerken hash'in bazı kısımlarını hesaplayabilmesi sayesinde bellek gecikmesini etkili bir şekilde gizler.
- Sonlandırma (Avalanche): Veri akışı işlendikten sonra, XXH3 yüksek düzeyde optimize edilmiş bir "avalanche" karıştırma aşaması uygular. Bu, girdideki en küçük bit değişikliğinin bile tamamen farklı bir 128 bitlik (veya 64 bitlik) özet haline gelmesini sağlar.
Farklılıklar: XXH3 ile XXH32 ve XXH64
- İşlem Hacmi ve Performans:
XXH3 çok daha üstündür: Modern CPU'larda, XXH3 genellikle XXH64'ten 2 ila 3 kat daha hızlıdır ve XXH32'den önemli ölçüde daha hızlıdır. Modern sistemlerin bellek bant genişliğini doyurmak üzere tasarlanmıştır, oysa eski sürümler genellikle CPU'nun komut yürütme hızıyla sınırlıdır.
Mimari Kullanımı:
- XXH32/64 "Skaler"dir: Bunlar standart, sıralı CPU komutlarını kullanır. Taşınabilirlikleri yüksektir ancak mevcut işlemcilerde bulunan modern "Vektör" birimlerinin tam gücünden yararlanmazlar.
XXH3 "Vektörlü": SIMD komutlarını kullanmak üzere özel olarak geliştirilmiştir, bu da onu mevcut nesil donanımlar (sunucular, bulut ortamları ve modern PC'ler) için "doğal" bir seçim haline getirir.
Çok Yönlülük:
XXH3 birleştirilmiştir: Daha önce istenen çıktı boyutunu elde etmek için XXH32 (32 bit) ve XXH64 (64 bit) arasında seçim yapmanız gerekirken, XXH3 aynı yüksek performanslı çekirdekten hem 64 bit hem de 128 bit çıktı sağlar.
Çakışma Direnci:
- XXH3 (128 bit modu): Hem XXH32 hem de XXH64'ten önemli ölçüde daha iyi çakışma direnci sunar, bu da onu nadir çakışmaların bile kabul edilemez olduğu devasa veri kümeleri için tercih edilen seçenek haline getirir.