מחולל Hash SRI
צור Hash של Subresource Integrity עבור כל קובץ JS או CSS וקבל סקריפט מוכן להדבקה או תג קישור.
תוצאה
שלמות המשאבים (SRI) מאפשרת לדפדפן לאמת שסקריפט או גיליון סגנונות שהובאו מ-CDN או מארח צד שלישי לא שונו לפני הפעלתו - הדפדפן מאחס את הבתים שהורדת ומסרב להפעיל את הקובץ אם התקציר אינו תואם לתכונת השלמות שפרסמת. הכלי הזה מחשב את התקציר הזה עבור כל קובץ JS או CSS שאתה נכנס אליו, כולו בכרטיסיית הדפדפן שלך, כך שהקובץ עצמו לעולם לא צריך לעזוב את המחשב שלך כדי לעבור גיבוב.
כלי Hash גנרי לא ייצור ערך SRI שמיש: המפרט דורש תקציר מקודד של base64, לא המחרוזת ההקסדצימלית שרוב כלי ה-Checksum מדפיסים, והוא מזהה רק שלושה אלגוריתמים - sha256, sha384 ו-sha512. המחולל הזה מגביל את בחירת האלגוריתם בדיוק לשלושה האלה ומקודד את התוצאה בצורה הנכונה, ואז הולך צעד אחד קדימה על ידי חיבור תג ה-HTML המלא סביבו, עם שדה מציין src או href שתוכל לערוך במקום לפני ההעתקה.
מתחת למכסה המנוע הקובץ נקרא עם ה-API של File, hashhed עם היישום המקורי crypto.subtle.digest() והבתים המתקבלים מומרים ל-base64 בנתחים קטנים ולא בפעולת התפשטות גדולה אחת - פרט שחשוב ברגע שקובץ JS ארוז גדל על פני כמאה אלף בתים, שבו גישות המרה נאיביות יכולות לפגוע בגבול הדפדפן.
sha384 נבחר כברירת מחדל מכיוון שהוא האלגוריתם המומלץ ביותר בדוגמאות ותיעוד SRI, מאזן אורך תקציר מול עמידות בפני התנגשות, אך sha256 ו-sha512 נמצאים במרחק לחיצה אחת אם צינור בנייה או ספק CDN מציינים דרישה אחרת.