مولّد xxHash
احسب المجاميع الاختبارية لـ xxHash لأي نص باستخدام XXH32 وXXH64 وXXH3-64 وXXH3-128 في عرض واحد، أو اختر متغيرًا واحدًا. ترمّز الأداة مدخلاتك بصيغة UTF-8، وتطبق بذرة اختيارية من 32-bit، ثم تعرض كل قيمة تجزئة بصيغة hex القياسية التي يطبعها xxhsum. تساعد المطورين على التحقق من مفاتيح التخزين المؤقت وبذور جداول التجزئة ومسارات البيانات التي تعتمد على دالة التجزئة غير التشفيرية فائقة السرعة هذه.
الأسئلة الشائعة
ما هو xxHash؟
xxHash عائلة من دوال التجزئة غير التشفيرية فائقة السرعة، ابتكرها Yann Collet. XXH32 وXXH64 هما المتغيران التقليديان، أما XXH3 فهو تصميم أحدث بنتائج 64-bit و128-bit. ويُستخدم في أدوات الضغط وقواعد البيانات ومحركات الألعاب.
ما المتغيرات التي تحسبها الأداة؟
تحسب الأداة XXH32 وXXH64 وXXH3-64 وXXH3-128. عند اختيار «كل المتغيرات»، تظهر النتائج الأربع معًا، وإلا فتظهر نتيجة المتغير المحدد فقط. تُطبع كل قيمة بصيغة hex بترتيب البايتات الكبير، كما يعرضها xxhsum.
ما القيم المرجعية للإدخال الفارغ وabc؟
مع البذرة 0، يعطي الإدخال الفارغ 02cc5d05 لـ XXH32، وef46db3751d8e999 لـ XXH64، و2d06800538d394c2 لـ XXH3-64، و99aa06d3014798d86001c324468d497f لـ XXH3-128. أما abc فيعطي القيم 32d153ff و44bc2cf5ad770999 و78af5f94892f3950 و06b05ab6733a618578af5f94892f3950.
ما وظيفة البذرة؟
تغيّر البذرة حالة البدء، لذلك يعطي النص نفسه قيمة تجزئة مختلفة لكل بذرة. استخدمها لمطابقة نظام يحسب التجزئة ببذرة معروفة. تقبل الأداة أعدادًا صحيحة من 0 إلى 4294967295، وتستخدم 0 افتراضيًا.
هل xxHash آمن؟
لا. صُمم xxHash للسرعة والتوزيع الجيد، لا لمقاومة المهاجمين. يمكن لأي شخص إنشاء تصادمات، لذا استخدم SHA-256 أو BLAKE3 لضمان السلامة من العبث.
هل أستخدم XXH3 أم XXH64؟
يكون XXH3 أسرع على المعالجات الحديثة، وخصوصًا للمدخلات القصيرة، وهو الخيار الموصى به للأكواد الجديدة. يظل XXH64 شائعًا في التنسيقات الحالية مثل المجموع الاختباري لإطار Zstandard، الذي يستخدم جزءًا من قيمة XXH64.
لماذا تطبع مكتبتي ترتيب بايتات مختلفًا؟
تطبع بعض المكتبات بايتات التجزئة الخام بترتيب little-endian بدلًا من العدد. تستخدم هذه الأداة التمثيل القياسي بترتيب big-endian الوارد في مواصفات xxHash، وهو ما يطابق xxhsum. اعكس ترتيب البايتات للمقارنة مع تفريغ little-endian.
كيف يُرمّز النص؟
تُحسب تجزئة مدخلاتك من بايتات UTF-8 كما أُدخلت تمامًا. تؤدي اختلافات نهايات الأسطر أو المسافات اللاحقة إلى قيم تجزئة مختلفة.
هل يمكنني تجزئة الملفات بهذه الأداة؟
لا، فهي تحسب تجزئة النص الملصق فقط. لمعالجة الملفات، ثبّت xxhsum وشغّل xxhsum -H0 أو -H1 أو -H3 أو -H2 لـ XXH32 وXXH64 وXXH3-64 وXXH3-128.
ما مقدار النص الذي يمكنني تجزئته؟
حتى 5 MiB من النص لكل طلب. تُحسب جميع المتغيرات باستخدام WebAssembly على الخادم، ولا يُخزَّن الإدخال.