מחולל Hash SRI
צור hash של Subresource Integrity לכל קובץ JS או CSS וקבל תג script או link מוכן להדבקה.
🔒 מעובד כולו בדפדפן שלך - שום דבר שתזין כאן לא יועלה לעולם.
תוצאה
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 דורשים דרישה אחרת.