0

Γεννήτρια SRI Hash

Δημιουργήστε ένα SRI hash για οποιοδήποτε JS ή CSS αρχείο και αποκτήστε μια έτοιμη για επικόλληση ετικέτα script ή link.

🔒 Επεξεργάζεται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας — τίποτα που εισάγετε εδώ δεν μεταφορτώνεται ποτέ.

🔗

Σύρετε & Αφήστε Εικόνα

Λειτουργεί με οποιοδήποτε JS ή CSS αρχείο — τίποτα δεν μεταφορτώνεται, το hash υπολογίζεται τοπικά.

Το Subresource Integrity επιτρέπει μόνο digests sha256, sha384 ή sha512, κωδικοποιημένα σε Base64 — αυτό το εργαλείο περιορίζει τις επιλογές αναλόγως ώστε η έξοδος να είναι πάντα σύμφωνη με τις προδιαγραφές.

Επεξεργασία... 0%
Ανάγνωση αρχείου
Υπολογισμός digest
Κωδικοποίηση σε Base64
Ολοκληρώθηκε

Αποτέλεσμα

Το Subresource Integrity (SRI) επιτρέπει σε έναν browser να επαληθεύσει ότι ένα script ή stylesheet που ανακτάται από ένα CDN ή τρίτο πάροχο δεν έχει τροποποιηθεί πριν εκτελεστεί — ο browser κατακερματίζει τα ληφθέντα bytes και αρνείται να εκτελέσει το αρχείο αν το digest δεν ταιριάζει με το χαρακτηριστικό integrity που έχετε δημοσιεύσει. Αυτό το εργαλείο υπολογίζει το digest για οποιοδήποτε JS ή CSS αρχείο αποθέτετε, εξ ολοκλήρου μέσα στην καρτέλα του browser σας, οπότε το ίδιο το αρχείο δεν χρειάζεται ποτέ να φύγει από τον υπολογιστή σας για να κατακερματιστεί.

Ένα γενικό εργαλείο hash δεν θα παράγει χρησιμοποιήσιμη τιμή SRI: οι προδιαγραφές απαιτούν ένα digest κωδικοποιημένο σε Base64, όχι τη δεκαεξαδική συμβολοσειρά που τυπώνουν τα περισσότερα εργαλεία αθροισμάτων ελέγχου, και αναγνωρίζει μόνο τρεις αλγορίθμους — sha256, sha384 και sha512. Αυτή η γεννήτρια περιορίζει την επιλογή αλγορίθμου ακριβώς σε αυτούς τους τρεις και κωδικοποιεί το αποτέλεσμα με τον σωστό τρόπο και μετά προχωρά ένα βήμα παραπέρα συνθέτοντας την πλήρη ετικέτα HTML γύρω από αυτό, με ένα πεδίο placeholder src ή href που μπορείτε να επεξεργαστείτε επιτόπου πριν την αντιγραφή.

Στο παρασκήνιο, το αρχείο διαβάζεται με το File API, κατακερματίζεται με την εγγενή υλοποίηση crypto.subtle.digest() και τα προκύπτοντα bytes μετατρέπονται σε Base64 σε μικρά τμήματα αντί για μία μεγάλη λειτουργία spread — μια λεπτομέρεια που έχει σημασία όταν ένα bundled JS αρχείο ξεπερνά περίπου τις εκατό χιλιάδες bytes, όπου οι απλοϊκές προσεγγίσεις μετατροπής μπορεί να συναντήσουν το όριο της στοίβας κλήσεων του browser.

Το sha384 είναι προεπιλεγμένο επειδή είναι ο αλγόριθμος που συνιστάται συχνότερα σε παραδείγματα και τεκμηρίωση SRI, εξισορροπώντας το μήκος digest με την αντοχή σε συγκρούσεις, αλλά τα sha256 και sha512 απέχουν ένα κλικ αν μια γραμμή παραγωγής (build pipeline) ή ένας πάροχος CDN καθορίζει διαφορετική απαίτηση.