בדיקת שלמות קבצים (MD5)

הורדת קבצים מאינטרנט הינה פעולה נפוצה מאוד. ישנם דרכים רבות להוריד קובץ מהרשת (הורדה ישירה מאתר, הורדות EMULE, BITTORRENT, FTP ועוד).

הבעיה מתחילה כשמתברר שהקובץ שהורד פגום : שגיאות בהתקנת תוכנה, הפעלת סרט\שיר, צריבה נכשלת …).

הרשת לא מבטיחה שהקובץ שהורדנו שלם ותקין.

מדובר "בבאג" מובנה של שיטת העבודה באינטרנט.

למה הקובץ פגום ?

ישנן סיבות רבות כדי להסביר למה קובץ מגיע פגום למחשב. בגדול נצמצם ל-2 מצבים :

1 ) קובץ המקור הינו פגום

2) ההורדה השתבשה והקובץ הגיע פגום. חלקי הקובץ לא הגיעו בגלל בעיות תקשורת, תקלה באתר …

מה לעשות ?

בגדול, נרצה לוודא שהקובץ שהורדנו תואם לקובץ המקור.

אם הקובץ לא תואם למקור : אז פשוט נוריד את הקובץ שוב בשאיפה שהפעם ההורדה תסתיים בצורה תקינה

אם הקובץ תואם למקור : יש בעיה עם הקובץ עצמו בתחילת השרשרת, נחפש מיקום חלופי להורדה או נפנה למנהל האתר כדי לבדוק האם הוא יכול "לתקן" את הקובץ

איך בודקים את שלמות הקובץ (תואם למקור) ?

יש מספר שיטות שונות אך השיטה הנפוצה ביותר הינה HASHING. יש גם מספר סוגים של HASHING ונתייחס כאן רק ל-MD5 (הכי נפוץ ברשת) למרות שכל סוג HASHING פועל לפי אותו עיקרון.

MD5 הינו אלגוריתם שמסוגל לייצר חתימה ייחודית לקובץ ("FINGERPRINT"). מדובר בפלט של 32 תווים (מספרים ואותיות לטיניות).

לדוגמא : 098f6bcd4621d373cade4e832627b4f6 (ערך MD5 עבור המילה "test")

כאן דף הורדה של תוכנת SECURE CLIENT מאתר CHECKPOINT

הרבה אתרים מפרסמים את חתימת הערך MD5 בצמוד לקובץ בדף ההורדות כדי לאפשר למשתמש קצה (אנחנו) לוודא שהקובץ שהורד הינו תואם לקובץ המקור.

משתמש הקצה צריך לאחר ההורדה  "לחשב" את החתימה של הקובץ שהוריד ולהשוות עם מה שפורסם ע"י מפיץ הקובץ.

שימו לב : שיטה זו מאפשרת לוודא את שלמות הקובץ (בסבירות מאוד גבוהה) אך לא מצפינה את הקובץ. אין כאן שום אמצעי הגנה.

איך מבצעים את פעולת החישוב ?

ישנו תנאי סף אחד לבדיקה זו : חייב פרסום מראש של הערך של הקובץ (אם לא, אין עם מה להשוות).

1) ניגשים להורדה כלשהי

כאן אני מוריד UBUNTU

2) מחפשים את הערך MD5 באתר (דרך כלל באותו דף אך לא תמיד)

כאן הדף הרלוונטי באתר UBUNTU

3) בסיום ההורדה, נחשב את הערך של הקובץ ונשווה (עם הערך של האתר)

דרך פשוטה היא להתקין או להפעיל תוכנת צד שלישי שתדע לחשב את הערך MD5.

אני ממליץ על שימוש בתוכנה הפשוטה והחינמית "MD5 Checker"

בחלק העליון נרשום את הערך MD5 שפורסם באתר (כמובן דרך פעולת "עתק/הדבק").

בחלק התחתון נבחר את הקובץ שהורדנו ע"י הסייר המובנה

בדיקת האימות עברה בהצלחה, הקובץ שהורדנו תואם לקובץ המקור.

סיכום :

שיטות הורדת קבצים באינטרנט לא מבטיחות את שלמות המידע. יתכן שקובץ לא יגיע שלם עד ליעד שלו.

השיטה הנפוצה ביותר לבדוק שלמות הקבצים הינה HASHING באופן כללי, ו-MD5 בפרט.

מומלץ מאוד לבדוק HASHING של הורדות לפני התקנות או הפעלות של קבצים מהרשת.

3 תגובות ל “בדיקת שלמות קבצים (MD5)”

  1. עוז כותב:

    אחלה פוסט דודו,
    אני בעקרון מעדיף להשתמש בתוכנה המובנת בווינדוס לבדיקת MD5 וגם בדרך כלל תוכנות גדולות ומכובדות יותר נותנות גם בדיקת SHA1
    כלים אלה בדרך כלל מובנים בתוך הווינדוס בתייקית system32 והשימוש הוא פשוט, נתיב קובץ סוג הבדיקה רווח ומיקום הקובץ אותו נרצה לבדוק.
    אני יותר סומך על תוכנות של מיקרוסופט מאשר כל מיני תוכנות שאחרים בנו, כי לבדיקת HASH יש המון תוכנות שם בחוץ.
    מיקרוסופט גם מציעה את הכלי הזה http://support.microsoft.com/kb/841290
    FCIV.EXE אשר נותן לבדוק את שניהם או לחוד.

  2. דודו כותב:

    עוז, בכוונה לא הזכרתי את FCIV כי מדובר בתונת "CLI" ולא גראפית 🙂
    כמו כן, הרבה אנשים יתווכחו איתך לגבי "לסמוך" על מייקרוסופט 🙂
    תודה בכל למקרה על כך שהזכרת את התוכנה.

  3. בני כותב:

    תודה על ההסבר. תמיד שמעתי על MD5 ולא הבנתי מה זה אומר.