Miklix

מחשבון קוד גיבוב CRC-32C

פורסם: 17 בפברואר 2025 בשעה 18:46:04 UTC
עודכן לאחרונה: 12 בינואר 2026 בשעה 11:37:36 UTC

מחשבון קוד גיבוב המשתמש בפונקציית הגיבוב CRC-32C (Cyclic Redundancy Check 32 bit, C variant) כדי לחשב קוד גיבוב על סמך קלט טקסט או העלאת קובץ.

עמוד זה תורגם במכונה מאנגלית על מנת להנגיש אותו לכמה שיותר אנשים. למרבה הצער, תרגום מכונה עדיין אינו טכנולוגיה משוכללת, ולכן עלולות להתרחש שגיאות. אם אתה מעדיף, תוכל לצפות בגרסה האנגלית המקורית כאן:

CRC-32C Hash Code Calculator

בדיקת יתירות מחזורית (CRC) היא קוד לגילוי שגיאות המשמש בדרך כלל לגילוי שינויים מקריים בנתונים גולמיים. למרות שאינה פונקציית גיבוב קריפטוגרפית מבחינה טכנית, CRC-32 מכונה לעתים קרובות גיבוב בשל יכולתו לייצר פלט בגודל קבוע (32 סיביות) מקלט באורך משתנה. הגרסה המוצגת בדף זה היא גרסת CRC-32C, שהיא גרסה חדשה יותר ו"חכמה" יותר (גילוי שגיאות טוב יותר), שלעתים קרובות מואצת על ידי חומרה במעבדים מודרניים (דרך SSE 4.2).

גילוי נאות: לא כתבתי את היישום הספציפי של פונקציית ה-hash המשמשת בדף זה. זוהי פונקציה סטנדרטית הכלולה בשפת התכנות PHP. יצרתי את ממשק האינטרנט רק כדי להפוך אותו לזמין לציבור כאן מטעמי נוחות.


חשב קוד Hash חדש

נתונים שנשלחו או קבצים שהועלו באמצעות טופס זה יישמרו בשרת רק כל עוד נדרש ליצירת קוד ה-hash המבוקש. זה יימחק מיד לפני שהתוצאה תוחזר לדפדפן שלך.

נתוני קלט:



הטקסט שנשלח מקודד UTF-8. מכיוון שפונקציות hash פועלות על נתונים בינאריים, התוצאה תהיה שונה מאשר אם הטקסט היה בקידוד אחר. אם אתה צריך לחשב hash של טקסט בקידוד ספציפי, עליך להעלות קובץ במקום.



אודות אלגוריתם ה-Hash של CRC-32C

אני לא מתמטיקאי, אבל אנסה להסביר את פונקציית הגיבוב הזו באמצעות אנלוגיה פשוטה. בניגוד לרבות מפונקציות הגיבוב הקריפטוגרפיות, זה לא אלגוריתם מסובך במיוחד, אז זה כנראה יהיה בסדר ;-)

דמיינו שאתם שולחים מכתב בדואר, אך אתם חוששים שהוא עלול להינזק לפני שיגיע לנמען. בהתבסס על תוכן המכתב, אתם מחשבים סכום בדיקה CRC-32 וכותבים אותו על המעטפה. כאשר הנמען מקבל את המכתב, הוא או היא יכולים גם לחשב את סכום הבדיקה ולראות אם הוא תואם את מה שכתבתם. אם כן, המכתב לא ניזוק או שונה בדרך.

הדרך שבה CRC-32 עושה זאת היא תהליך בן ארבעה שלבים:

שלב 1: הוספת רווח נוסף (ריפוד)

  • CRC מוסיף קצת מקום נוסף בסוף ההודעה (כמו אריזת בוטנים בקופסה).
  • זה עוזר לו לזהות שגיאות ביתר קלות.

שלב 2: סרגל הקסם (הפולינום)

  • CRC-32 משתמש ב"סרגל קסם" מיוחד כדי למדוד את הנתונים. חשבו על סרגל זה כעל תבנית של בליטות וחריצים (זהו הפולינום, אבל אל תדאגו לגבי המילה הזו). ה"סרגל" הנפוץ ביותר עבור CRC-32 הוא תבנית קבועה.

שלב 3: הזזת הסרגל (תהליך החלוקה)

  • כעת CRC מחליק את הסרגל על פני ההודעה. בכל נקודה, הוא בודק אם הבליטות והחריצים מסתדרים. אם הם לא מסתדרים, CRC רושם הערה (זה נעשה באמצעות XOR פשוט, כמו הפעלה וכיבוי של מתגים). הוא ממשיך להחליק ולסובב מתגים עד שהוא מגיע לסוף.

שלב 4: התוצאה הסופית (סכום הבדיקה)

  • לאחר הזזת הסרגל על פני כל ההודעה, נותר מספר קטן (באורך 32 סיביות) המייצג את הנתונים המקוריים. מספר זה הוא כמו טביעת אצבע ייחודית להודעה. זהו סכום הבדיקה CRC-32.

הגרסה המוצגת בדף היא גרסת CRC-32C, שאמורה להיות הגרסה המועדפת, במיוחד אם אתם משתמשים במעבד עם האצת חומרה (SSE 4.2 ואילך) ואינכם זקוקים לתאימות עם גרסאות אחרות.

יש לי גם מחשבונים לגרסאות האחרות:

  • לְקַשֵׁר
  • לְקַשֵׁר

קריאה נוספת

אם נהניתם מהפוסט הזה, אולי תאהבו גם את ההצעות הבאות:


שתפו בבלוסקישתפו בפייסבוקשתפו בלינקדאיןשתפו ב-Tumblrשתפו ב-Xשתפו בלינקדאיןהצמד בפינטרסט

מיקל כריסטנסן

על המחבר

מיקל כריסטנסן
מיקל הוא היוצר והבעלים של miklix.com. יש לו למעלה מ-20 שנות ניסיון כמתכנת מחשבים/מפתח תוכנה מקצועי וכיום הוא מועסק במשרה מלאה בתאגיד IT אירופאי גדול. כשהוא לא כותב בלוג, הוא מבלה את זמנו הפנוי במגוון עצום של תחומי עניין, תחביבים ופעילויות, שעשויים לבוא לידי ביטוי במידה מסוימת במגוון הנושאים המכוסים באתר זה.