Generator skrótu SRI
Wygeneruj hash Subresource Integrity dla dowolnego pliku JS lub CSS i uzyskaj gotowy do wklejenia skrypt lub tag linku.
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.