Cara memakai
- Tempel teks skrip atau lembar gaya ke Teks berkas, atau pilih berkasnya di bawah Atau berkas.
- Pilih Algoritma. Pakai Ketiganya untuk menulis satu nilai untuk setiap algoritma.
- Ketik Alamat berkas persis seperti halaman akan memuatnya. Elemen yang akan ditempel muncul di bawah.
- Salin Nilai integritas atau Elemen untuk ditempel ke halaman Anda. Untuk memeriksa nilai yang Anda punya, tempelkan di bawah Nilai integritas yang akan diperiksa.
Cara nilai dibuat
Nilai integritas adalah nama algoritma hash, tanda hubung, dan digest berkas dalam base64. Peramban men-hash byte berkas yang persis sama, sehingga nilainya berubah bila satu byte berubah. Setiap peramban yang sesuai mendukung sha256, sha384, dan sha512 (SRI bagian 3.2). Base64 memakai abjad RFC 4648 dengan tanda = di akhir sebagai pengisi (bagian 4).
Nilai dengan beberapa item, dipisahkan spasi, diizinkan (bagian 3.2.1). Peramban memakai algoritma terkuat di antara item yang dikenalnya, sehingga sha512 menentukan atas sha256.
integritas = algoritma + "-" + base64(digest(byte))
- sha256: 44 karakter base64 setelah tanda hubung.
- sha384: 64 karakter setelah tanda hubung.
- sha512: 88 karakter setelah tanda hubung.
Apa yang dicakup pemeriksaan dan apa yang tidak
Pemeriksaan lolos bila byte berkas memberi salah satu nilai dari algoritma terkuat dalam atribut (SRI bagian 3.3). Item dengan algoritma yang tidak dikenal peramban dilewati. Bila tidak ada item yang tersisa, pemeriksaan lolos tanpa membandingkan apa pun, sehingga alat ini melaporkan kasus itu sebagai tidak diperiksa.
Nilai itu tidak mengatakan apa-apa tentang asal berkasnya. Ia membuktikan bahwa berkas punya byte yang di-hash. Buat ulang nilainya setiap kali berkas berubah, misalnya setelah pembaruan pustaka, dan simpan nilainya di tempat yang sama dengan elemennya.
Teks abc
Teks abc adalah tiga byte 61 62 63 dalam UTF-8. Pilih sha256 dan ketik abc di kotak teks. Nilai integritas untuk teks itu ada di tabel, dan elemen yang ditempel membawanya dengan crossorigin diatur ke anonymous.
| Algoritma | Nilai integritas untuk abc |
|---|---|
| sha256 | sha256-ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0= |
| sha384 | sha384-ywB1P0WjXou1oD1pmsZQBycsMqsO3tFjGotgWkP/W+2AhgcroefMI1i67KE0yCWn |
Pertanyaan yang sering diajukan
Haruskah saya mengubah nilai ketika berkasnya berubah?
Ya. Nilai itu untuk satu urutan byte yang persis, jadi pembaruan pustaka, bahkan satu spasi yang berubah, menghasilkan nilai yang berbeda. Pemeriksaan lalu gagal sampai atribut memuat nilai yang baru.
Algoritma mana yang sebaiknya saya pilih?
Setiap peramban mendukung ketiganya (SRI bagian 3.2). sha384 adalah digest yang lebih kuat daripada sha256 dan nilai yang lebih pendek daripada sha512. Pilih Ketiganya untuk menulis nilai untuk setiap algoritma, dan peramban akan memeriksa yang terkuat.
Mengapa nilainya punya nama algoritma dan tanda hubung?
Nama itu memberi tahu peramban digest mana yang harus dihitung. Tanda hubung mengakhiri nama, karena nama-namanya tidak punya tanda hubung, sedangkan nilai base64 boleh memuat tanda hubung dalam abjad yang aman untuk URL, sebagaimana diizinkan SRI bagian 3.5.
Apakah alat ini mengirim berkas saya ke server?
Tidak. Peramban Anda membaca berkas dan men-hash-nya dengan metode digest peramban (crypto.subtle). Halaman tidak membuat permintaan jaringan dan tidak menyimpan apa pun yang Anda ketik atau pilih.
Mengapa elemen yang ditempel memuat crossorigin?
SRI mewajibkan CORS untuk sumber daya di asal lain (bagian 5.3), dan crossorigin yang diatur ke anonymous meminta peramban memakai CORS. Elemen itu menyertakannya untuk skrip maupun lembar gaya.
Sumber
- W3C (dalam bahasa Inggris): Subresource Integrity (Working Draft, 20 Maret 2026): bagian 3.2, 3.3, 3.5, dan 5.3
- RFC 4648 (dalam bahasa Inggris): The Base16, Base32, and Base64 Data Encodings, bagian 4
- MDN (dalam bahasa Inggris): SubtleCrypto.digest()
Angka dan teks terakhir diperiksa pada Selasa, 10 November 2026.