यह ऑनलाइन टूल आपको किसी भी स्ट्रिंग के हैश xxh128 को जेनरेट करने की अनुमति देता है।
XXH128 लंबाई 32 अक्षर
उपलब्ध हैश
MD2 हैश, MD4 हैश, MD5 हैश, SHA1 हैश, SHA224 हैश, SHA256 हैश, SHA384 हैश, SHA512/224 हैश, SHA512/256 हैश, SHA512 हैश, SHA3-224 हैश, SHA3-256 हैश, SHA3-384 हैश, SHA3-512 हैश, RIPEMD128 हैश, RIPEMD160 हैश, RIPEMD256 हैश, RIPEMD320 हैश, WHIRLPOOL हैश, TIGER128,3 हैश, TIGER160,3 हैश, TIGER192,3 हैश, TIGER128,4 हैश, TIGER160,4 हैश, TIGER192,4 हैश, SNEFRU हैश, SNEFRU256 हैश, GOST हैश, GOST-CRYPTO हैश, ADLER32 हैश, CRC32 हैश, CRC32B हैश, CRC32C हैश, FNV132 हैश, FNV1A32 हैश, FNV164 हैश, FNV1A64 हैश, JOAAT हैश, MURMUR3A हैश, MURMUR3C हैश, MURMUR3F हैश, XXH32 हैश, XXH64 हैश, XXH3 हैश, XXH128 हैश, HAVAL128,3 हैश, HAVAL160,3 हैश, HAVAL192,3 हैश, HAVAL224,3 हैश, HAVAL256,3 हैश, HAVAL128,4 हैश, HAVAL160,4 हैश, HAVAL192,4 हैश, HAVAL224,4 हैश, HAVAL256,4 हैश, HAVAL128,5 हैश, HAVAL160,5 हैश, HAVAL192,5 हैश, HAVAL224,5 हैश, HAVAL256,5 हैश,
XXH128 क्या है?
XXH128, XXH3 एल्गोरिथम का 128-बिट वेरिएंट है। जहाँ XXH3 64-बिट या 128-बिट आउटपुट प्रदान कर सकता है, वहीं XXH128 विशेष रूप से वह इम्प्लीमेंटेशन है जो पूरा 128-बिट डाइजेस्ट जेनरेट करता है। इसे उन अनुप्रयोगों के लिए डिज़ाइन किया गया है जहाँ टकराव की संभावना को गणितीय रूप से नगण्य होना चाहिए, भले ही ट्रिलियन (trillions) आइटम हैश किए जा रहे हों। XXH3 की तरह, इसे आधुनिक CPUs के लिए बनाया गया है, जो वेक्टरयुक्त निर्देशों (vectorized instructions) का उपयोग करके ऐसी गति प्राप्त करता है जो इसे मौजूदा सबसे तेज़ 128-बिट हैश फ़ंक्शन में से एक बनाती है।
XXH128 हैश कैसे काम करता है?
XXH128, XXH3 कोर पर आधारित है, जो "अवलांच" मिक्सिंग चरण का विस्तार करके स्टेट साइज़ को दोगुना संभालता है:
- स्टेट एक्सपैंशन: यह दो समानांतर आंतरिक राज्यों का उपयोग करता है, प्रत्येक 64 बिट चौड़ा, जिन्हें SIMD निर्देशों का उपयोग करके एक साथ संसाधित किया जाता है।
- वाइड मिक्सिंग: एल्गोरिथम XXH64 की तुलना में बड़े ब्लॉकों में डेटा को संसाधित करता है, यह सुनिश्चित करते हुए कि इनपुट पूरे 128-बिट राज्य में "फैला" हुआ है।
- सीक्रेट कीइंग: यह मिक्सिंग चरण के दौरान एक "सीक्रेट" (डेटा का एक छद्म-यादृच्छिक ब्लॉक) शामिल करता है। यह हैश आउटपुट को न केवल इनपुट पर, बल्कि आंतरिक स्थिर पर भी निर्भर बनाता है, जो वितरण की गुणवत्ता और दुर्भावनापूर्ण टकराव के प्रयासों के प्रति प्रतिरोध में काफी सुधार करता है।
- फाइनलाइज़ेशन (128-बिट एवलॉन्च): फाइनलाइज़ेशन चरण दो 64-बिट एक्यूमুলেटरों का गहन बिटवाइज़ मिक्सिंग करके एक अत्यधिक समान 128-बिट फिंगरप्रिंट उत्पन्न करता है।
तुलना: XXH128 बनाम XXH3 और XXH64
- XXH128 बनाम XXH64:
- टक्कर प्रतिरोध: XXH128 कहीं अधिक श्रेष्ठ है। 128-बिट आउटपुट के साथ, बर्थडे पैराडॉक्स टक्कर थ्रेशोल्ड 64-बिट हैश (XXH64) की तुलना में घातीय रूप से अधिक है। यदि आपका एप्लिकेशन विशाल डेटासेट (जैसे, बिग डेटा इंडेक्सिंग) को संभालता है, तो XXH128 एक सुरक्षित विकल्प है।
प्रदर्शन: XXH128, दोगुने बिट्स प्रदान करने के बावजूद, वेक्टरयुक्त (SIMD) कार्यान्वयन की दक्षता के कारण XXH64 से केवल थोड़ा धीमा है।
XXH128 बनाम XXH3 (64-बिट मोड):
- मुख्य उपयोग: XXH3 (64-बिट मोड में) "हर हाल में गति" वाली हैश टेबल के लिए है जहाँ टकराव को डेटा स्ट्रक्चर द्वारा संभाला जाता है। XXH128 "अखंडता-केंद्रित" अनुप्रयोगों (जैसे फ़ाइल डुप्लिकेशन हटाना या बड़े डेटा ब्लॉकों का सत्यापन) के लिए है, जहाँ आपको एक अद्वितीय, टकराव-प्रतिरोधी पहचानकर्ता की आवश्यकता होती है।
- जटिलता: XXH128 आंतरिक राज्यों को एक अंतिम 128-बिट डाइजेस्ट में "संकुचित" करने के लिए एक अधिक जटिल फाइनलाइज़ेशन चरण का उपयोग करता है, जबकि XXH3 (64-बिट) थोड़ा पहले बाहर निकल जाता है।