เครื่องมือสร้างแฮช SRI
สร้างแฮช Subresource Integrity สำหรับไฟล์ JS หรือ CSS ใดๆ และรับแท็ก script หรือ link ที่พร้อมนำไปวางใช้งานได้ทันที
🔒 ประมวลผลทั้งหมดในเบราว์เซอร์ของคุณ — ไม่มีการอัปโหลดสิ่งใดที่คุณป้อนที่นี่
ผลลัพธ์
Subresource Integrity (SRI) ช่วยให้เบราว์เซอร์ตรวจสอบว่าสคริปต์หรือสไตล์ชีตที่ดึงมาจาก CDN หรือโฮสต์ภายนอกไม่ถูกแก้ไขก่อนทำงาน — เบราว์เซอร์จะแฮชข้อมูลที่ดาวน์โหลดมาและปฏิเสธการเรียกใช้ไฟล์นั้นหากไดเจสต์ไม่ตรงกับค่า integrity ที่คุณเผยแพร่ไว้ เครื่องมือนี้จะคำนวณไดเจสต์ดังกล่าวให้กับไฟล์ JS หรือ CSS ใดๆ ที่คุณลากมาวาง โดยทั้งหมดทำงานภายในแท็บเบราว์เซอร์ของคุณ ไฟล์จึงไม่ต้องออกจากเครื่องของคุณเพื่อนำมาแฮชเลย
เครื่องมือแฮชทั่วไปจะไม่สร้างค่า SRI ที่ใช้งานได้: ข้อกำหนดกำหนดให้ใช้ไดเจสต์ที่เข้ารหัสแบบ Base64 ไม่ใช่สตริงเลขฐานสิบหกที่เครื่องมือตรวจสอบ checksum ส่วนใหญ่แสดงผล และรู้จักอัลกอริทึมเพียงสามตัวเท่านั้น — sha256, sha384 และ sha512 เครื่องมือสร้างนี้จำกัดตัวเลือกอัลกอริทึมไว้เพียงสามตัวนั้นและเข้ารหัสผลลัพธ์ด้วยวิธีที่ถูกต้อง จากนั้นยังทำเพิ่มอีกขั้นด้วยการประกอบแท็ก HTML แบบเต็มล้อมรอบค่าแฮช พร้อมช่อง placeholder สำหรับ src หรือ href ที่คุณแก้ไขได้ทันทีก่อนคัดลอก
เบื้องหลังการทำงาน ไฟล์จะถูกอ่านด้วย File API แฮชด้วยฟังก์ชัน crypto.subtle.digest() ดั้งเดิม และไบต์ผลลัพธ์จะถูกแปลงเป็น Base64 แบบแบ่งส่วนเล็กๆ แทนที่จะใช้การกระจายข้อมูลขนาดใหญ่ในครั้งเดียว — รายละเอียดที่สำคัญเมื่อไฟล์ JS ที่รวมมีขนาดใหญ่เกินประมาณหนึ่งแสนไบต์ ซึ่งวิธีการแปลงแบบธรรมดาอาจไปถึงขีดจำกัด call stack ของเบราว์เซอร์
sha384 ถูกเลือกเป็นค่าเริ่มต้นเนื่องจากเป็นอัลกอริทึมที่แนะนำบ่อยที่สุดในตัวอย่างและเอกสารประกอบ SRI โดยสร้างสมดุลระหว่างความยาวของไดเจสต์กับความต้านทานการชนกัน แต่ sha256 และ sha512 ก็อยู่ห่างเพียงคลิกเดียวหากไปป์ไลน์การ build หรือผู้ให้บริการ CDN ระบุข้อกำหนดที่แตกต่างออกไป