מהו MurmurHash3 (x86 128-bit)?
MurmurHash3 הוא אלגוריתם גיבוב לא-קריפטוגרפי מהיר שנועד להפיק סכומי בדיקה שניתנים לשחזור ובעלי פיזור טוב. גרסת x86 128-bit מחזירה ערך של 16 בייטים, שמוצג בדרך כלל כ-32 תווים הקסדצימליים, ולכן היא מתאימה יותר מגיבובי 32-bit כשצריך מזהה רחב יותר עבור קבוצות גדולות של רשומות, קבצים או מפתחות מטמון.
מתי זה שימושי:
- טבלאות גיבוב ו-sharding: צרו מפתחות יציבים לדליים, מחיצות או טבלאות חיפוש.
- הסרת כפילויות: השוו קבוצות גדולות של טקסטים או קבצים באמצעות טביעות אצבע קומפקטיות של 128 ביט לפני בדיקות מעמיקות יותר.
- מפתחות מטמון: הפיקו מזהים דטרמיניסטיים עבור תוצרי בנייה, נתונים שעברו התמרה או תוכן שנוצר.
- בדיקות תקינות שאינן אבטחתיות: אתרו שינויים מקריים במהלך אחסון או העברה כאשר אין צורך בערבויות קריפטוגרפיות.
התנהגות ה-Seed:
ה-Seed האופציונלי הוא ערך 32 ביט לא חתום. השתמשו באותו Seed כאשר
צריך שהתוצאות יתאימו למערכת אחרת, והשאירו אותו על 0 כאשר אין דרישת
תאימות מסוימת. מתקבלים ערכים עשרוניים וערכים הקסדצימליים עם 0x;
ערכים גדולים יותר ממופים חזרה לאותו טווח 32 ביט שבו משתמש האלגוריתם.
הערות בטיחות:
MurmurHash3 אינו אלגוריתם לגיבוב סיסמאות, חתימה או אימות חסין-שיבוש. השתמשו ב-SHA-256, ב-HMAC או בכלי לגיבוב סיסמאות כאשר הפלט צריך מאפייני אבטחה. הכלי הזה מתאים בעיקר לגיבוב מקומי, לא מקוון וממוקד ביצועים, כאשר מהירות ופיזור יציב חשובים יותר מעמידות בפני תקיפות.