0

Generator skrótu SRI

Wygeneruj hash Subresource Integrity dla dowolnego pliku JS lub CSS i uzyskaj gotowy do wklejenia skrypt lub tag linku.

🔗

Przeciągnij i upuść obraz

Działa z dowolnym plikiem JS lub CSS — nic nie jest przesyłane, skrót jest obliczany lokalnie.

Subresource Integrity zezwala tylko na skróty Sha256, Sha384 lub Sha512 zakodowane w formacie Base64 — to narzędzie odpowiednio ogranicza wybór, dzięki czemu dane wyjściowe są zawsze zgodne ze specyfikacją.

Buy Me a Coffee at ko-fi.com
Przetwarzanie... 0%
Czytanie pliku
Obliczanie podsumowania
Kodowanie do base64
Gotowe

Wynik

Subresource Integrity (SRI) pozwala przeglądarce sprawdzić, czy skrypt lub arkusz stylów pobrany z CDN lub hosta strony trzeciej nie został zmieniony przed uruchomieniem — przeglądarka miesza pobrane bajty i odmawia wykonania pliku, jeśli skrót nie pasuje do opublikowanego atrybutu integralności. To narzędzie oblicza podsumowanie dla dowolnego pliku JS lub CSS, który upuścisz, całkowicie na karcie przeglądarki, więc sam plik nigdy nie musi opuszczać komputera w celu zaszyfrowania.

Ogólne narzędzie mieszające nie wygeneruje użytecznej wartości SRI: specyfikacja wymaga skrótu zakodowanego w base64, a nie ciągu szesnastkowego drukowanego przez większość narzędzi do sum kontrolnych, i rozpoznaje tylko trzy algorytmy — sha256, sha384 i sha512. Generator ten ogranicza wybór algorytmu do dokładnie tych trzech i koduje wynik we właściwy sposób, a następnie idzie o krok dalej, tworząc wokół niego pełny znacznik HTML z zastępczym polem src lub href, które można edytować na miejscu przed skopiowaniem.

Pod maską plik jest odczytywany za pomocą interfejsu File API, szyfrowany za pomocą natywnej implementacji crypto.subtle.digest(), a powstałe bajty są konwertowane do formatu base64 w małych porcjach, a nie w ramach jednej dużej operacji rozkładania — szczegół ten ma znaczenie, gdy dołączony plik JS przekroczy około stu tysięcy bajtów, gdzie naiwne metody konwersji mogą przekroczyć limit stosu wywołań przeglądarki.

Sha384 jest wybierany domyślnie, ponieważ jest to algorytm najczęściej zalecany w przykładach i dokumentacji SRI, równoważący długość skrótu z odpornością na kolizje, ale sha256 i sha512 są dostępne za jednym kliknięciem, jeśli potok kompilacji lub dostawca CDN określi inne wymagania.