SRI Karma Oluşturucu
Herhangi bir JS veya CSS dosyası için bir Alt Kaynak Bütünlüğü karması oluşturun ve yapıştırmaya hazır bir komut dosyası veya bağlantı etiketi edinin.
Sonuç
Alt Kaynak Bütünlüğü (SRI), bir tarayıcının, bir CDN'den veya üçüncü taraf ana bilgisayardan getirilen bir komut dosyasının veya stil sayfasının çalıştırılmadan önce değiştirilmediğini doğrulamasını sağlar; tarayıcı, indirilen baytlara karma işlemi uygular ve özet, yayınladığınız bütünlük özelliğiyle eşleşmezse dosyayı yürütmeyi reddeder. Bu araç, girdiğiniz herhangi bir JS veya CSS dosyasının özetini tamamen tarayıcı sekmenizin içinde hesaplar, böylece dosyanın kendisinin hiçbir zaman karma işlemine tabi tutulmak üzere makinenizden ayrılmasına gerek kalmaz.
Genel bir karma aracı, kullanılabilir bir SRI değeri üretmez: spesifikasyon, çoğu sağlama toplamı aracının yazdırdığı onaltılık diziyi değil, base64 kodlu bir özet gerektirir ve yalnızca üç algoritmayı tanır - sha256, sha384 ve sha512. Bu oluşturucu, algoritma seçimini tam olarak bu üç ile sınırlandırır ve sonucu doğru şekilde kodlar, ardından kopyalamadan önce düzenleyebileceğiniz bir yer tutucu src veya href alanıyla birlikte tam HTML etiketini bunun etrafında oluşturarak bir adım daha ileri gider.
Temel olarak dosya, Dosya API'si ile okunur, yerel crypto.subtle.digest() uygulamasıyla hashlenir ve ortaya çıkan baytlar, tek bir büyük yayılma işlemi yerine küçük parçalar halinde base64'e dönüştürülür; bu, paketlenmiş bir JS dosyası kabaca yüz bin baytı aştığında önemli olan bir ayrıntıdır; saf dönüştürme yaklaşımları tarayıcının çağrı yığını sınırına ulaşabilir.
sha384 varsayılan olarak seçilir çünkü bu, SRI örneklerinde ve belgelerinde en yaygın olarak önerilen algoritmadır ve özet uzunluğunu çarpışma direncine karşı dengeler, ancak bir derleme ardışık düzeni veya CDN sağlayıcısı farklı bir gereksinim belirtirse sha256 ve sha512 bir tıklama uzağınızdadır.