Hash generator מחשב *hash*: טביעת אצבע קצרה ובאורך קבוע של קלט כלשהו. טביעת האצבע משתנה באופן דרמטי אפילו מהבדל של תו אחד, ולכן משתמשים ב-hash כדי לאמת שלמות של קבצים, לבדוק אם שני ערכים שווים בלי להשוות אותם במלואם, לבנות מערכות שמזהות תוכן לפי הכתובת שלו (Git משתמש ב-SHA-1/SHA-256), וכאבן בניין בתוך פרוטוקולי אבטחה גדולים יותר.
לפונקציית hash קריפטוגרפית טובה יש שלוש תכונות: היא *דטרמיניסטית* (אותו קלט → אותו hash), *חד כיוונית* (אי אפשר לשחזר את הקלט מה-hash), ו*עמידה בפני התנגשויות* (לא מעשי למצוא שני קלטים עם אותו hash). אלגוריתמים מודרניים כמו SHA-256 ו-SHA-512 עומדים בשלושתן, ואלגוריתמים ישנים כמו MD5 ו-SHA-1 *שבורים* ואסור להשתמש בהם להשוואות שקשורות לאבטחה.
Hashing הוא *לא* הצפנה. הצפנה הפיכה בעזרת מפתח, ו-hashing חד כיווני מעצם התכנון. Hashing גם *לא* מנגנון לשמירת סיסמאות: סיסמאות צריכות *password hash* כמו bcrypt, scrypt או Argon2, שהופך בכוונה ניחוש בכוח גס (brute force) ליקר.
מה תלמדו תוך כדי יצירת hash
פונקציית hash ממפה כל קלט, קצר או ארוך, לפלט באורך קבוע (למשל SHA-256 תמיד מפיק 256 ביט = 64 תווי hex).
אותו קלט תמיד מפיק אותו hash. אפילו שינוי של ביט אחד מפיק hash שונה לגמרי (*אפקט המפולת*, avalanche effect).
MD5 ו-SHA-1 כבר לא עמידים בפני התנגשויות: הם בסדר ל-checksum שלא קשור לאבטחה, אבל לא בטוחים לחתימות, לתעודות או לכל דבר שקשור לאמון.
אל תשמרו סיסמאות עם SHA-256 פשוט. השתמשו ב-password hash (bcrypt, scrypt, Argon2) שכולל salt ואיטי בכוונה.
איך ליצור hash שלב אחר שלב
1
הדביקו את הקלט
הדביקו כל טקסט: מחרוזת, קטע JSON, מפתח רישיון. ה-hash מתעדכן תוך כדי הקלדה.
2
בחרו אלגוריתם
בחרו MD5, SHA-1, SHA-256, SHA-384 או SHA-512. SHA-256 היא ברירת המחדל הבטוחה ביותר ל-checksum כללי.
3
קראו את הפלט
ה-hash מוצג בהקסדצימלי באותיות קטנות. אפשר להחליף לאותיות גדולות או להעתיק את הערך ללוח.
4
השוו שני ערכי hash לפי הצורך
הדביקו hash ידוע (מדף הורדה, מ-commit ב-Git, מקובץ checksum) והכלי יגיד לכם אם הערך שלכם תואם.
מדריך מהיר לאלגוריתמי hash
האלגוריתמים שתפגשו הכי הרבה, עם גודל הפלט ומצב האבטחה הנוכחי שלהם. SHA-1 מוגדר ב-RFC 3174, ומשפחת SHA-2 ב-NIST FIPS 180-4.
אלגוריתם
גודל פלט
מצב / איפה תראו אותו
MD5
128 ביט / 32 תווי hex
שבור: מתאים רק ל-checksum שלא קשור לאבטחה
SHA-1
160 ביט / 40 תווי hex
שבור: היסטוריית Git ומערכות ישנות בלבד
SHA-256
256 ביט / 64 תווי hex
סטנדרט: TLS, Git מודרני, בלוקצ'יין
SHA-384
384 ביט / 96 תווי hex
בשימוש בחבילות TLS שמעדיפות את משפחת SHA-2
SHA-512
512 ביט / 128 תווי hex
חזק: לפעמים מהיר יותר מ-SHA-256 על חומרה של 64 ביט
חשבו SHA-256 של הקובץ שהורדתם והשוו אותו לערך של המפרסם. התאמה אומרת שהקובץ לא נפגם בדרך ואף אחד לא התעסק איתו.
הורדות של תמונות מערכת הפעלה, סביבות הרצה של שפות ושחרורים חתומים מפרסמות בדרך כלל SHA-256 ליד הקובץ. תמיד בדקו לפני ההתקנה.
MD5 להסרת כפילויות שלא קשורה לאבטחה
קלט
user@example.com
MD5
b58996c504c5638798eb6b511e6f49af
Gravatar משתמש ב-MD5(email) כמפתח לתמונת פרופיל. MD5 בסדר לזה, כי זה מזהה שאינו סודי, אבל אל תשתמשו בו אף פעם במקום שבו התנגשויות או מתקפות pre-image משנות משהו.
טעויות נפוצות ב-hashing
לשמור סיסמאות של משתמשים עם SHA-256 פשוט. השתמשו ב-password hash (bcrypt, scrypt, Argon2) עם salt לכל משתמש ומקדם עלות מכוון.
לסמוך על MD5 או SHA-1 בהשוואות שקשורות לאבטחה ב-2026. שניהם שבורים: חישוב התנגשויות הוא מעשי.
להשוות hash בהקסדצימלי עם == אחרי ששיניתם אחת מהמחרוזות. הסירו רווחים ואחדו אותיות גדולות וקטנות לפני ההשוואה.
לשכוח שאותו קלט *תמיד* מפיק אותו hash, וזו בדיוק הנקודה. אל תעשו "hash פעמיים" בציפייה לאקראיות נוספת, תקבלו פשוט hash שני דטרמיניסטי.
להשתמש ב-hash במקום שבו בעצם צריך הצפנה. hash הוא חד כיווני ואי אפשר להפוך אותו.
שאלות נפוצות על Hash Generator
מה זו פונקציית hash?
פונקציית hash מקבלת קלט בכל אורך ומפיקה פלט באורך קבוע שנקרא hash. אותו קלט תמיד מפיק אותו hash, ואפילו שינוי זעיר בקלט מפיק hash שונה לגמרי.
האם עדיין בטוח להשתמש ב-MD5?
MD5 שבור למטרות קריפטוגרפיות: קל לחשב התנגשויות בפועל. הוא עדיין מקובל ל-checksum שלא קשור לאבטחה (הסרת כפילויות בקבצים, מפתחות מטמון, Gravatar), אבל אף פעם לא לחתימות, לתעודות או לשמירת סיסמאות.
מה ההבדל בין SHA-256 ל-SHA-512?
שניהם שייכים למשפחת SHA-2. SHA-256 מפיק פלט של 256 ביט, ו-SHA-512 מפיק פלט של 512 ביט. SHA-512 יכול להיות דווקא מהיר יותר על חומרה של 64 ביט. SHA-256 היא ברירת המחדל הנפוצה יותר בפרוטוקולים היום.
איך עושים hash לסיסמה?
אל תשתמשו ישירות ב-SHA-256. השתמשו ב-password hash שנועד לזה, bcrypt, scrypt או Argon2, עם salt לכל משתמש ומקדם עלות שאפשר לכוונן. הם איטיים בכוונה כדי להפוך מתקפות brute force ליקרות.
אפשר להפוך hash בחזרה?
לא, פונקציות hash הן חד כיווניות מעצם התכנון. הדרך היחידה לשחזר את המקור היא לנחש קלטים ולבדוק אם ה-hash שלהם תואם. בגלל זה salt ו-hashing איטי חשובים לסיסמאות.
ערכי ה-hash נוצרים מקומית?
כן. ה-hash generator של Coddy משתמש ב-Web Crypto API בדפדפן שלכם. הקלט שלכם אף פעם לא יוצא מהמחשב.