תְמוּנָה: אלגוריתם גיבוב FNV-1 32-Bit - סקירה ויזואלית
פורסם: 12 בינואר 2026 בשעה 13:29:29 UTC
עודכן לאחרונה: 9 בינואר 2026 בשעה 21:41:23 UTC
תרשים זרימה ברור המסביר את השלבים העיקריים של אלגוריתם הגיבוב של 32 סיביות FNV-1, החל מבייטי הקלט ועד לתוצאת הגיבוב הסופית.
FNV-1 32-Bit Hash Algorithm – Visual Overview

גרסאות זמינות של תמונה זו
קבצי התמונה הזמינים להורדה להלן דחוסים פחות ובעלי רזולוציה גבוהה יותר - וכתוצאה מכך, באיכות גבוהה יותר - בהשוואה לתמונות המוטמעות במאמרים ובדפים באתר זה, אשר מותאמות יותר לגודל הקובץ על מנת להפחית את צריכת רוחב הפס.
גודל רגיל (1,536 x 1,024)
גודל גדול (3,072 x 2,048)
גודל גדול מאוד (4,608 x 3,072)
גודל גדול במיוחד (6,144 x 4,096)
גודל גדול באופן קומי (1,048,576 x 699,051)
- עדיין מעלה... ;-)
תיאור התמונה
התמונה היא אינפוגרפיקה רחבה, בכיוון נוף, שכותרתה "אלגוריתם ה-FNV-1 32-Bit Hash" המוצגת בטקסט כהה וגדול בחלק העליון. הסגנון הכללי נקי, שטוח והדרכתי, תוך שימוש במלבנים מעוגלים, עיגולים וחצים כדי להנחות את הצופה משמאל לימין. הרקע לבן, מה שמעניק לתרשים מראה בהיר ולא עמוס המתאים להוראה.
בקצה השמאלי נמצא מלבן מעוגל כחול שכותרתו "נתוני קלט". מתחת לתיבה זו נמצאת שורה אופקית קטנה של בלוקים צבעוניים המייצגים בתים בודדים של נתונים. חץ קצר מוביל מתיבת קלט זו לכיוון מרכז הדיאגרמה, ומציין את תחילת תהליך הגיבוב.
הבא בתור הוא מלבן מעוגל צהוב שכותרתו "בסיס קיזוז", עם כיתוב קטן יותר מתחתיו "ערך 32 סיביות". תיבה זו מייצגת את המצב הפנימי ההתחלתי בו משתמש האלגוריתם לפני עיבוד כל בייט הקלט. החץ מנתוני הקלט מצביע על תיבת בסיס הקיזוז הזו, ומראה שהאלגוריתם מתחיל עם ערך התחלתי מוגדר מראש זה.
מבסיס ההיסט, הזרימה ממשיכה אל צומת עגול כתום שכותרתו "XOR". זוג קטן של סמלי בתים צבעוניים ממוקם ממש מתחת לעיגול זה, המסומנים כ-"Input Byte", ומדגישים שכל בת מהנתונים המקוריים משולב עם מצב הגיבוב הנוכחי באמצעות פעולת XOR לפי סיביות. הוויזואליה מרמזת ששלב XOR זה חוזר על עצמו עבור כל בת.
לאחר שלב ה-XOR, חץ מצביע על צומת עגול כחול המסומן בסמל כפל, המסומן באופן רעיוני כ-"הכפל במספר ראשוני קבוע" מעל הזרימה. משמעות הדבר היא שהאלגוריתם מכפיל את הערך הביניים במספר ראשוני קבוע כדי לערבב עוד יותר את הביטים ולפזר את השינויים לאורך ה-hash.
מימין לעיגול הכפל נמצא מלבן ירוק מעוגל שכותרתו "תוצאת גיבוב של 32 סיביות". מלבן זה מייצג את ערך הגיבוב המתפתח לאחר עיבוד בייט אחד או יותר, ובסופו של דבר את ערך הגיבוב הסופי של 32 סיביות המיוצר על ידי האלגוריתם לאחר שכל נתוני הקלט נצרכו.
מעל השורה הראשית של תיבות ועיגולים, קו אופקי דק עם חצים קטנים כלפי מטה הכולל טקסט כגון "התחל עם בסיס קיזוז", "XOR עם בייט", "הכפל ב-FNV Prime" ו-"32-Bit Hash Value". כיתובים אלה משמשים כמדריך שלב אחר שלב המסכם את שלבי האלגוריתם בשפה פשוטה.
בתחתית הדיאגרמה, חץ ארוך עובר משמאל לימין עם הטקסט "חזור על כל בייט של נתונים". זה מבהיר ששלבי ה-XOR והכפל יוצרים לולאה המוחלת על כל בייט ברצף הקלט, ולא רק על פעולה בודדת.
בסך הכל, הדיאגרמה נמנעת מקבועים מספריים ספציפיים ובמקום זאת מתמקדת בזרימה הקונספטואלית: בייט קלט נכנסים לתהליך, מצב פנימי מאותחל, כל בייט עובר XOR עם הערך הנוכחי, התוצאה מוכפלת, והמחזור חוזר על עצמו עד להפקת ה-hash הסופי של 32 סיביות. השימוש בצבעים שונים עבור כל שלב הופך את האלגוריתם לקל למעקב אפילו למתחילים.
התמונה קשורה ל: מחשבון קוד גיבוב Fowler-Noll-Vo FNV1-32
