ตัวสร้างและตัวตรวจสอบ HMAC
สร้างและยืนยันรหัสการตรวจสอบสิทธิ์ข้อความ HMAC ด้วย SHA-256, SHA-384, SHA-512 หรือ SHA-1 โดยใช้รหัสลับทั้งหมดในเบราว์เซอร์ของคุณ
ผลลัพธ์
HMAC (รหัสตรวจสอบข้อความที่ใช้แฮช) คือโครงสร้างการเข้ารหัสแบบคีย์ที่รวมคีย์ลับเข้ากับข้อความผ่านฟังก์ชันแฮช เช่น SHA-256 ต่างจากแฮชธรรมดาที่ใครๆ ก็สามารถคำนวณใหม่ได้จากข้อความเพียงอย่างเดียว HMAC สามารถทำซ้ำได้โดยผู้ที่มีคีย์ลับเดียวกันเท่านั้น นั่นคือสิ่งที่ทำให้มันเป็นรหัสการตรวจสอบสิทธิ์แทนที่จะเป็นเพียงเช็คซัม
นี่คือความแตกต่างพื้นฐานจากการแยกย่อยแบบธรรมดา: เครื่องมือตัวสร้างแฮชของเราเองจะคำนวณแฮชที่ไม่ได้ใส่คีย์ เช่น MD5 หรือ SHA-256 ซึ่งเหมาะสำหรับการตรวจหาความเสียหายโดยไม่ตั้งใจ แต่ไม่ได้พิสูจน์ว่าใครเป็นคนสร้างข้อมูล เนื่องจากใครๆ ก็สามารถสร้างแฮชเดียวกันได้ HMAC พิสูจน์ทั้งความสมบูรณ์ (ข้อความไม่มีการเปลี่ยนแปลง) และความถูกต้อง (ผู้ลงนามรู้ความลับที่ใช้ร่วมกัน) ซึ่งเป็นเหตุผลว่าทำไม HMAC จึงเป็นองค์ประกอบมาตรฐานที่อยู่เบื้องหลังการลงนามคำขอ API อัลกอริธึม HS256/HS384/HS512 ของ JWT และการตรวจสอบสิทธิ์บันทึก TLS
กรณีการใช้งานจริงที่พบบ่อยที่สุดคือการตรวจสอบลายเซ็นเว็บฮุค บริการต่างๆ เช่น Stripe, GitHub และ Shopify ลงนามทุกเพย์โหลดของเว็บฮุคด้วย HMAC-SHA256 โดยใช้ข้อมูลลับที่คุณกำหนดค่า และส่งลายเซ็นผลลัพธ์ในส่วนหัวของคำขอ เซิร์ฟเวอร์ของคุณได้รับการคาดหวังให้คำนวณ HMAC ใหม่บนเพย์โหลดดิบด้วยข้อมูลลับเดียวกัน และเปรียบเทียบกับค่าส่วนหัว หากตรงกัน คุณจะรู้ว่าคำขอนั้นมาจากบริการนั้นจริงๆ และไม่ได้ถูกแก้ไขระหว่างการส่ง โหมดการตรวจสอบของเครื่องมือนี้จะสร้างเช็คนั้นขึ้นมาใหม่ทุกประการ: วางเพย์โหลด ข้อมูลลับที่แชร์ และลายเซ็นที่ได้รับ และรับการจับคู่ทันทีหรือไม่ตรงกัน
ทุกอย่างทำงานภายในเครื่องผ่าน Web Crypto API ดั้งเดิมของเบราว์เซอร์ (crypto.subtle.importKey และ crypto.subtle.sign) ดังนั้นคีย์ลับ เนื้อหาข้อความ และลายเซ็นผลลัพธ์จะไม่ออกจากเครื่องของคุณ — ไม่มีอะไรถูกอัปโหลดไปยังเซิร์ฟเวอร์ใดๆ ซึ่งมีความสำคัญเนื่องจากความลับของ HMAC นั้นเป็นค่าประเภทที่คุณไม่ควรวางลงในเครื่องมือออนไลน์แบบสุ่มที่สามารถบันทึกได้