0

מחולל Hash SRI

צור hash של Subresource Integrity לכל קובץ JS או CSS וקבל תג script או link מוכן להדבקה.

🔒 מעובד כולו בדפדפן שלך - שום דבר שתזין כאן לא יועלה לעולם.

🔗

גררו ושחררו תמונה

עובד עם כל קובץ JS או CSS — שום דבר לא מועלה, ה-hash מחושב באופן מקומי.

Subresource Integrity מתיר רק תמציות sha256, sha384 או sha512, מקודדות Base64 — כלי זה מגביל את האפשרויות בהתאם, כך שהפלט תמיד תואם-מפרט.

מעבד... 0%
קורא קובץ
מחשב תמצית
מקודד ל-Base64
בוצע

תוצאה

Subresource Integrity (SRI) מאפשר לדפדפן לוודא שקובץ script או stylesheet שהתקבל מ-CDN או מספק צד-שלישי לא שונה לפני הרצתו — הדפדפן מגבב את הבתים שהורדו, ומסרב להריץ את הקובץ אם התמצית אינה תואמת למאפיין integrity שפרסמתם. כלי זה מחשב תמצית זו לכל קובץ JS או CSS שתשליכו, כולו בתוך טאב הדפדפן שלכם, כך שהקובץ עצמו לעולם לא צריך לעזוב את המחשב שלכם כדי לעבור גיבוב.

כלי גיבוב גנרי לא ייצור ערך SRI שמיש: המפרט דורש תמצית מקודדת Base64, לא את המחרוזת ההקסדצימלית שרוב כלי הבדיקה מדפיסים, והוא מזהה רק שלושה אלגוריתמים — sha256, sha384 ו-sha512. מחולל זה מגביל את אפשרות האלגוריתם לשלושה אלו בלבד, ומקודד את התוצאה בדרך הנכונה, ואז הולך צעד נוסף ומרכיב את תגית ה-HTML המלאה סביבה, עם שדה placeholder של src או href שתוכלו לערוך במקום לפני ההעתקה.

מתחת למכסה המנוע, הקובץ נקרא באמצעות File API, מגובב עם המימוש המקורי crypto.subtle.digest(), ובתי התוצאה מומרים ל-Base64 במנות קטנות, ולא בפעולת פיזור אחת גדולה — פרט חשוב ברגע שקובץ JS מצורף עובר גודל של כמאה אלף בתים בקירוב, שכן גישות המרה תמימות עלולות להיתקל במגבלת מחסנית הקריאות של הדפדפן.

sha384 נבחר כברירת מחדל מכיוון שזה האלגוריתם שמומלץ לרוב בדוגמאות ובתיעוד של SRI, כשהוא מאזן בין אורך התמצית לבין עמידות בפני התנגשויות, אך sha256 ו-sha512 נמצאים במרחק קליק אחד, אם צינור בנייה או ספק CDN דורשים דרישה אחרת.