ما هو MurmurHash3 (x86 128-bit)؟
MurmurHash3 خوارزمية تجزئة سريعة غير تشفيرية مصممة لمجاميع تحقق قابلة للتكرار وذات توزيع جيد. يعيد متغير x86 128-bit قيمة بطول 16 بايت، تظهر عادة في صورة 32 حرفًا سداسيًا عشريًا، مما يجعله أنسب من التجزئات 32-bit عندما تحتاج إلى معرّف أوسع لمجموعات كبيرة من السجلات أو الملفات أو مفاتيح التخزين المؤقت.
أين يفيد:
- جداول التجزئة والتقسيم: أنشئ مفاتيح ثابتة للحاويات أو الأقسام أو جداول البحث.
- إزالة التكرار: قارن مجموعات نصوص أو ملفات كبيرة ببصمات 128-bit مدمجة قبل إجراء فحوصات أعمق.
- مفاتيح التخزين المؤقت: أنشئ معرّفات حتمية لمخرجات البناء أو البيانات المحوّلة أو المحتوى المولّد.
- فحوصات السلامة غير الأمنية: اكتشف التغييرات العرضية أثناء التخزين أو النقل عندما لا تكون الضمانات التشفيرية مطلوبة.
سلوك البذرة:
البذرة الاختيارية قيمة عددية غير موقعة بطول 32-bit. استخدم البذرة نفسها عندما تحتاج إلى مطابقة النتائج مع نظام آخر، واتركها على 0 عندما لا يكون لديك متطلب توافق محدد. تُقبل القيم العشرية وقيم 0x السداسية عشرية؛ وتلتف القيم الأكبر إلى نطاق 32-bit نفسه الذي تستخدمه الخوارزمية.
ملاحظات السلامة:
MurmurHash3 ليس خوارزمية لتجزئة كلمات المرور أو التوقيع أو التحقق المقاوم للعبث. استخدم SHA-256 أو HMAC أو أداة تجزئة كلمات مرور عندما يجب أن يمتلك الناتج خصائص أمنية. هذه الأداة مناسبة أكثر للتجزئة المحلية غير المتصلة والموجهة للأداء، عندما تكون السرعة وثبات التوزيع أهم من مقاومة الهجمات.