open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Tipps

Wie kann ich einen `integrity`-Hash (SRI) für eine Datei erzeugen?

Autor
Wie kann ich einen `integrity`-Hash (SRI) für eine Datei erzeugen?

Was ist integrity / Subresource Integrity (SRI)?

Das integrity-Attribut in einem <script>- oder <link>-Tag stellt sicher, dass die geladene Datei (z. B. JavaScript oder CSS) nicht manipuliert wurde. Der Browser vergleicht die geladene Datei mit dem angegebenen Hashwert – bei Abweichung wird sie blockiert.

Beispiel:

<script src="https://example.com/script.js"
        integrity="sha384-abc123..."
        crossorigin="anonymous"></script>

So erzeugst du einen integrity-Hash:

Methode 1: Mit dem srihash.org-Webtool

Methode 2: Per CLI mit openssl

# Für eine lokale Datei (z. B. script.js)
openssl dgst -sha384 -binary script.js | openssl base64 -A

Dann so verwenden:

<script src="...script.js"
        integrity="sha384-DEIN_HASHWERT"
        crossorigin="anonymous"></script>

Methode 3: Mit Node.js

const crypto = require("crypto");
const fs = require("fs");

const file = fs.readFileSync("script.js");
const hash = crypto.createHash("sha384").update(file).digest("base64");

console.log(`sha384-${hash}`);

Wichtig:

  • Immer den richtigen Hash-Algorithmus angeben: meist sha384.
  • Datei darf nicht verändert werden, sonst passt der Hash nicht mehr.
  • Für CDNs wie jsDelivr oder CDNJS findest du die SRI-Hashes oft direkt auf deren Seiten.