0

เครื่องมือสร้างและตรวจสอบ HMAC

สร้างและตรวจสอบรหัสยืนยันข้อความ HMAC ด้วย SHA-256, SHA-384, SHA-512 หรือ SHA-1 โดยใช้รหัสลับ ทุกอย่างทำงานในเบราว์เซอร์ของคุณ

🔒 ประมวลผลทั้งหมดในเบราว์เซอร์ของคุณ — ไม่มีการอัปโหลดสิ่งใดที่คุณป้อนที่นี่

กำลังประมวลผล... 0%
กำลังนำเข้าคีย์
กำลังคำนวณ HMAC
เสร็จสิ้น

ผลลัพธ์

HMAC (Hash-based Message Authentication Code) คือโครงสร้างการเข้ารหัสแบบใช้คีย์ที่รวมรหัสลับเข้ากับข้อความผ่านฟังก์ชันแฮชเช่น SHA-256 ซึ่งต่างจากแฮชธรรมดาที่ใครก็คำนวณซ้ำจากข้อความได้ HMAC จะสร้างซ้ำได้เฉพาะผู้ที่มีรหัสลับเดียวกัน — นั่นคือสิ่งที่ทำให้มันเป็นรหัสยืนยันตัวตน ไม่ใช่แค่ checksum

นี่คือข้อแตกต่างพื้นฐานจากไดเจสต์ธรรมดา: เครื่องมือสร้างแฮชของเราใช้คำนวณแฮชแบบไม่มีคีย์เช่น 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 คือค่าที่คุณไม่ควรวางลงในเครื่องมือออนไลน์สุ่มเสี่ยงที่อาจบันทึกมัน