מחשבון קוד גיבוב CRC-32C
פורסם: 17 בפברואר 2025 בשעה 18:46:04 UTC
עודכן לאחרונה: 12 בינואר 2026 בשעה 11:37:36 UTC
CRC-32C Hash Code Calculator
בדיקת יתירות מחזורית (CRC) היא קוד לגילוי שגיאות המשמש בדרך כלל לגילוי שינויים מקריים בנתונים גולמיים. למרות שאינה פונקציית גיבוב קריפטוגרפית מבחינה טכנית, CRC-32 מכונה לעתים קרובות גיבוב בשל יכולתו לייצר פלט בגודל קבוע (32 סיביות) מקלט באורך משתנה. הגרסה המוצגת בדף זה היא גרסת CRC-32C, שהיא גרסה חדשה יותר ו"חכמה" יותר (גילוי שגיאות טוב יותר), שלעתים קרובות מואצת על ידי חומרה במעבדים מודרניים (דרך SSE 4.2).
גילוי נאות: לא כתבתי את היישום הספציפי של פונקציית ה-hash המשמשת בדף זה. זוהי פונקציה סטנדרטית הכלולה בשפת התכנות PHP. יצרתי את ממשק האינטרנט רק כדי להפוך אותו לזמין לציבור כאן מטעמי נוחות.
אודות אלגוריתם ה-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 ואילך) ואינכם זקוקים לתאימות עם גרסאות אחרות.
יש לי גם מחשבונים לגרסאות האחרות:
- לְקַשֵׁר
- לְקַשֵׁר
קריאה נוספת
אם נהניתם מהפוסט הזה, אולי תאהבו גם את ההצעות הבאות:
