SRI-Hash-Generator

Der SRI-Hash-Generator berechnet den Subresource-Integrity-Wert für Skripte und Stylesheets, als sha384, sha256 oder sha512, und liefert das fertige Tag mit crossorigin.

integrity-Wert

Fertiges Tag
Vorhandenen Wert vergleichen

    Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

    Subresource Integrity einsetzen

    Der SRI-Hash-Generator berechnet den Wert für das integrity-Attribut nach dem W3C-Standard Subresource Integrity. Damit binden Sie Skripte und Stylesheets von einem CDN oder fremden Server so ein, dass der Browser sie nur ausführt, wenn der Inhalt Byte für Byte dem erwarteten Stand entspricht. Wird die Datei auf dem CDN verändert, etwa nach einem Angriff, blockiert der Browser sie. So können Sie ein CDN absichern, ohne ihm blind zu vertrauen.

    Der Wert besteht aus dem Algorithmus, einem Bindestrich und dem Base64-kodierten Hash, zum Beispiel sha384-…. Üblich und empfohlen ist sha384; der Browser akzeptiert auch sha256 und sha512. Für Dateien von einer anderen Domain gehört crossorigin="anonymous" dazu, und der Server muss die Datei mit passendem CORS-Header ausliefern, sonst kann der Browser den Hash nicht prüfen und blockiert die Datei. Auf der Kommandozeile erhalten Sie denselben Wert mit openssl dgst -sha384 -binary datei.js | openssl base64 -A.

    Achten Sie darauf, die Datei exakt so zu hashen, wie der Server sie liefert. Ein einziges anderes Zeichen, ein fehlender Zeilenumbruch am Ende oder Windows-Zeilenenden ergeben einen völlig anderen Hash. Beim Einfügen in ein Textfeld werden Zeilenenden auf LF vereinheitlicht; für ganz sichere Ergebnisse wählen Sie deshalb die Datei selbst aus. Andere Prüfsummen berechnen Sie mit dem Hash-Generator.

    Anleitung: SRI-Hash-Generator in 4 Schritten

    1. Unter „Quelle“ wählen, ob Sie den Inhalt einfügen oder eine Datei auswählen; für exakte Ergebnisse die Datei selbst wählen.
    2. Den Algorithmus festlegen, empfohlen ist sha384, und die Art der Datei: JavaScript, CSS oder automatisch nach Endung.
    3. Die Adresse der Datei für das Tag eintragen.
    4. Den integrity-Wert oder das fertige Tag mit crossorigin kopieren und in Ihr HTML einsetzen.

    Typische Anwendungsfälle

    • Bibliotheken vom CDN absichern: Ein Skript wie ein Framework oder eine Chart-Bibliothek mit festem Hash einbinden.
    • Content Security Policy ergänzen: Fremde Skripte zusätzlich zur CSP gegen nachträgliche Änderungen schützen.
    • Update einer Bibliothek: Nach dem Wechsel auf eine neue Version den Subresource-Integrity-Wert neu berechnen.
    • Fehlersuche: Mit „Vorhandenen Wert vergleichen“ prüfen, warum der Browser eine Datei wegen falschem Hash blockiert.
    Fragen

    Häufige Fragen

    Was ist Subresource Integrity?

    Ein Browser-Standard des W3C. Im integrity-Attribut von script- oder link-Tags steht der erwartete Hash der Datei. Stimmt der Hash der geladenen Datei nicht überein, führt der Browser sie nicht aus und meldet einen Fehler in der Konsole.

    Welchen Algorithmus soll ich nehmen?

    sha384 ist der übliche Standard und wird von CDNs meist so angegeben. sha256 und sha512 sind ebenfalls erlaubt. Stehen mehrere Werte im Attribut, verwendet der Browser den stärksten Algorithmus.

    Warum braucht es crossorigin="anonymous"?

    Bei Dateien von einer anderen Domain darf der Browser den Inhalt nur prüfen, wenn er sie im CORS-Modus lädt. Ohne crossorigin oder ohne passenden Access-Control-Allow-Origin-Header des Servers wird die Datei blockiert.

    Was passiert bei einem Update der Bibliothek?

    Jede neue Version hat einen anderen Hash. Binden Sie deshalb immer eine feste Versionsnummer ein, nicht eine Adresse wie latest, und berechnen Sie den Wert bei jedem Update neu.

    Wird meine Datei hochgeladen?

    Nein. Der Hash wird mit der Web Crypto API Ihres Browsers berechnet. Inhalt und Datei verlassen Ihr Gerät nicht. Dateien aus dem Internet lädt das Werkzeug bewusst nicht selbst.

    Wie prüfe ich, ob ein vorhandener integrity-Wert noch stimmt?

    Datei auswählen oder Inhalt einfügen und den Wert aus Ihrem HTML unter „Vorhandenen Wert vergleichen“ eintragen. Das Werkzeug zeigt, ob er zum aktuellen Inhalt passt.

    Funktioniert Subresource Integrity auch für Bilder oder Schriften?

    Nein. Browser werten das integrity-Attribut bei script- und link-Elementen aus, also für Skripte, Stylesheets und vorab geladene Ressourcen. Bilder und Schriften in CSS werden nicht geprüft.

    Weitere Werkzeuge

    Das könnte auch helfen

    Alle 358 Werkzeuge