מחשבון קוד גיבוב CRC-32
פורסם: 17 בפברואר 2025 בשעה 18:13:40 UTC
מחשבון קוד Hash המשתמש בפונקציית ה-Hash CRC-32 (Cyclic Redundancy Check 32 bit) כדי לחשב קוד Hash על סמך קלט טקסט או העלאת קובץ.CRC-32 Hash Code Calculator
בדיקת יתירות מחזורית (CRC) היא קוד זיהוי שגיאות המשמש בדרך כלל לאיתור שינויים מקריים בנתונים גולמיים. למרות שמבחינה טכנית אינה פונקציית גיבוב קריפטוגרפית, לרוב מתייחסים ל-CRC-32 כ-hash בשל יכולתו לייצר פלט בגודל קבוע (32 סיביות) מקלט באורך משתנה.
גילוי נאות: לא כתבתי את היישום הספציפי של פונקציית ה-hash המשמשת בדף זה. זוהי פונקציה סטנדרטית הכלולה בשפת התכנות PHP. יצרתי את ממשק האינטרנט רק כדי להפוך אותו לזמין לציבור כאן מטעמי נוחות.
על אלגוריתם ה- Hash CRC-32
אני לא מתמטיקאי, אבל אנסה להסביר את פונקציית ה-hash הזו באנלוגיה פשוטה. בניגוד לרבות מפונקציות ה-hash ההצפנה, זה לא אלגוריתם מסובך במיוחד, אז כנראה שזה יהיה בסדר ;-)
תאר לעצמך שאתה שולח מכתב בדואר, אבל אתה חושש שהוא עלול להינזק לפני שהוא יגיע לנמען. בהתבסס על תוכן המכתב, אתה מחשב סכום ביקורת CRC-32 ורושם זאת על המעטפה. כשהנמען יקבל את המכתב, הוא יכול גם לחשב את סכום המחאה ולראות אם הוא תואם את מה שכתבת. אם כן, המכתב לא ניזוק או שונה במהלך הדרך.
הדרך בה CRC-32 עושה זאת היא תהליך בן ארבעה שלבים:
שלב 1: הוסף שטח נוסף (ריפוד)
- CRC מוסיף מעט מקום נוסף בסוף ההודעה (כמו אריזת בוטנים בקופסה).
- זה עוזר לזה לזהות שגיאות ביתר קלות.
שלב 2: השליט הקסום (הפולינום)
- CRC-32 משתמש ב"סרגל קסם" מיוחד כדי למדוד את הנתונים.
- תחשוב על הסרגל הזה כמו תבנית של בליטות וחריצים (זה הפולינום, אבל אל תדאג לגבי המילה הזו).
- ה"סרגל" הנפוץ ביותר עבור CRC-32 הוא דפוס קבוע.
שלב 3: החלקת הסרגל (תהליך חלוקה)
- כעת CRC מחליק את הסרגל על פני ההודעה.
- בכל נקודה, הוא בודק אם הבליטות והחריצים מסתדרים.
- אם הם לא מסתדרים, CRC רושם הערה (זה נעשה באמצעות XOR פשוט, כמו הדלקה או כיבוי של מתגים).
- הוא ממשיך להחליק ולהעיף מתגים עד שהוא מגיע לסוף.
שלב 4: התוצאה הסופית (סיכום הבדיקה)
- לאחר החלקת הסרגל על פני כל ההודעה, נשאר לך מספר קטן (32 סיביות) המייצג את הנתונים המקוריים.
- מספר זה הוא כמו טביעת אצבע ייחודית להודעה.
- זהו סכום הבדיקה CRC-32.
הגרסה המוצגת בעמוד היא הפונקציה המקורית של CRC-32, שהיא הפונקציה שבה אתה צריך להשתמש עבור התאימות הטובה ביותר למערכות אחרות.
יש לי מחשבונים גם לגרסאות האחרות: