עבור לתוכן
Alex Kovalev

מחולל גיבוב

ודאו שהקובץ שהורדתם הוא הקובץ שפורסם. גררו אותו לכאן, הדביקו את ה-checksum שלהם וראו אם הוא תואם.

רץ בדפדפן שלכם. שום דבר שתדביקו או תגררו לכאן לא מועלה לשום מקום.

מה מגבבים
5 בתים, UTF-8

מפתח HMAC (לא חובה)

השאירו ריק לגיבוב רגיל. עם מפתח, כל שורה מציגה HMAC.

גיבוב לבד, שורה כמו e3b0… file.iso, או קובץ .sha256 שלם.

תואם אותו SHA-256 כמו זה שהדבקתם.

גיבובים
פורמט
  • MD55d41402abc4b2a76b9719d911017c592✓ תואם✗ לא תואם
  • SHA-1aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d✓ תואם✗ לא תואם
  • SHA-2562cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824✓ תואם✗ לא תואם
  • SHA-38459e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f✓ תואם✗ לא תואם
  • SHA-5129b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043✓ תואם✗ לא תואם

איך משתמשים

4 צעדים
  1. גררו את הקובץ שהורדתם ללשונית קובץ, או הקלידו בלשונית טקסט.
  2. הדביקו את ה-checksum מדף ההורדה בשדה checksum צפוי. גיבוב לבד, שורה של sha256sum או קובץ .sha256 שלם, הכול עובד.
  3. קראו את התוצאה. האלגוריתם נבחר לפי האורך של מה שהדבקתם, אז אין מה לבחור.
  4. כל גיבוב מועתק בכפתור העתקה שלו, ב-hex קטן, HEX גדול או Base64.

מה זה עושה

דקת קריאה

הכלי מחשב MD5, SHA-1, SHA-256, SHA-384 ו-SHA-512 בבת אחת. משפחת SHA מגיעה מ-Web Crypto API שמובנה בדפדפן (crypto.subtle). MD5 לא נמצא ב-Web Crypto, אז זה מימוש קטן שנכתב ביד וקורא את הקובץ בחתיכות של 2 MB. התוצאות נבדקו מול הפלט של md5 ו-shasum.

מגבלות, בכנות: Web Crypto מגבב buffer שלם אחד, אז בשביל SHA הקובץ צריך להיכנס לזיכרון. עד בערך 2 GB דפדפנים עכשוויים מסתדרים; מעבר לזה מקבלים רק MD5. בנוסף, Web Crypto קיים רק בדפים מאובטחים (https או localhost). ל-ISO של 6 GB הטרמינל עדיף: shasum -a 256 file.iso ב-macOS, sha256sum file.iso ב-Linux, Get-FileHash file.iso ב-PowerShell.

טקסט מקודד ב-UTF-8 ומגובב בדיוק כפי שהוקלד. מכאן מגיעים רוב הגיבובים ה"שגויים": echo hello | sha256sum מגבב את hello ועוד ירידת שורה. השתמשו ב-printf '%s' hello | sha256sum, או סמנו כאן הוספת ירידת שורה בסוף כדי להתאים למה ש-echo עשה.

מלאו מפתח HMAC וכל שורה תציג HMAC של הקלט עם המפתח הזה (HMAC-SHA-256 וחבריו), מה שחתימות webhook משתמשות בו. אני בודק checksum בעיקר אחרי העברת גיבויי cPanel בין שרתים; הפקודות נמצאות במדריך cPanel משורת הפקודה. אותו SHA-256 יושב גם בתוך תעודת SSL, שם רשות האישורים חותמת על הגיבוב שלה: ראו את המדריך ל-SSL.

שאלות

5 שאלות

למה הגיבוב שלי שונה מזה שבאתר?

כי גיבבתם משהו קצת אחר. בקבצים זו בדרך כלל הורדה שלא הושלמה או checksum של גרסה או ארכיטקטורה אחרת. בטקסט זו ירידת שורה בסוף (echo מוסיף אותה), סופי שורה של Windows או קידוד אחר. בית אחד ששונה משנה את כל הגיבוב, אז גיבוב "כמעט זהה" לא אומר קובץ כמעט זהה.

האם MD5 עדיין בטוח?

לזיהוי הורדות פגומות כן, לאבטחה לא. נזק אקראי לא ייצור MD5 תואם. אבל ליצור בכוונה שני קבצים שונים עם אותו MD5 אפשר בפועל מאז 2004, ו-SHA-1 נפל באותה דרך ב-2017. אם ה-checksum צריך להוכיח שאף אחד לא החליף את הקובץ, השתמשו ב-SHA-256 וקחו את ה-checksum ממקום אחר מהמראה של הקובץ, ועדיף חתום.

איך בודקים SHA-256 משורת הפקודה?

ב-macOS shasum -a 256 file.iso, ב-Linux sha256sum file.iso, וב-Windows PowerShell Get-FileHash file.iso (SHA-256 הוא ברירת המחדל שם). אם המפרסם מצרף קובץ SHA256SUMS, הפקודה sha256sum -c SHA256SUMS בודקת את כל הקבצים שמופיעים בו.

אפשר לפענח גיבוב MD5 או SHA-256?

לא. גיבוב הוא לא הצפנה, הוא טביעת אצבע: אין מפתח ואין דרך להריץ אותו אחורה. אתרי ה-"MD5 decrypt" מחזיקים טבלאות ענק של גיבובים של מילים נפוצות וסיסמאות שדלפו, ופשוט מחפשים בהן את שלכם. כך מוצאים password123, לא קובץ אקראי או משפט סיסמה ארוך. מאותה סיבה שומרים סיסמאות בגיבוב איטי עם salt, כמו bcrypt או Argon2, ולא ב-MD5 או SHA-256 פשוטים.

SHA-256 או SHA-512: במה להשתמש?

לבדיקת הורדה, השתמשו במה שהמפרסם מציין; הכלי מחשב את כולם בכל מקרה. שניהם בטוחים היום. ‏SHA-256 הוא ברירת המחדל הרגילה ל-checksum ולתעודות. ‏SHA-512 נותן גיבוב ארוך יותר, ובתוכנה על מחשבי 64 ביט הוא לעתים קרובות קצת יותר מהיר. ‏SHA-384 הוא SHA-512 מקוצר (עם ערכי התחלה אחרים), ופוגשים אותו בעיקר ב-TLS ובמאפייני integrity="sha384-…" של תגי script, שמקבלים את גרסת ה-Base64.

עוד כלים על הקיר