← เครื่องมือทั้งหมด
สร้างโดย UnifyPort
สร้างและตรวจสอบลายเซ็น HMAC
สร้าง HMAC-SHA256 เปรียบเทียบกับ header ของ webhook และหาสาเหตุที่ไม่ตรงกันภายในเบราว์เซอร์
โหมดตรวจสอบ
วางลายเซ็นที่มีอยู่เพื่อเทียบกับผลลัพธ์ที่คำนวณด้านบน
วางลายเซ็นเพื่อเริ่มตรวจสอบ
ทำไม webhook ใช้ HMAC?
Telegram, WhatsApp, Stripe, GitHub และ provider อื่น ๆ ลงลายเซ็น request ด้วย secret ที่ใช้ร่วมกัน เซิร์ฟเวอร์คำนวณ HMAC จาก payload ดิบเดียวกันแล้วเทียบกับ header ลายเซ็น เครื่องมือนี้คำนวณในเบราว์เซอร์เท่านั้น ส่วน production ควรทำตามคู่มือการส่งและตรวจสอบ webhook
ควรใช้เครื่องมือนี้เมื่อใด?
ใช้เมื่อต้องแยกสาเหตุจาก secret ผิด, JSON ถูก serialize ใหม่, ไม่มี timestamp prefix, เลือกอัลกอริทึมผิด หรือรูปแบบ hex/base64 ต่างกัน ต้องวาง payload ดิบที่ receiver อ่านจริง
คำถามที่พบบ่อย
- HMAC คืออะไร?
- HMAC รวมฟังก์ชันแฮชเข้ารหัสกับ secret ที่ใช้ร่วมกัน เพื่อพิสูจน์ว่าผู้ส่งรู้ secret โดยไม่ต้องส่ง secret
- Webhook ใช้ HMAC อย่างไร?
- Provider ลงลายเซ็น body ดิบ และเซิร์ฟเวอร์คำนวณใหม่ด้วย secret เดียวกันก่อนรับ request
- ตรวจสอบลายเซ็นอย่างไรให้ถูกต้อง?
- ใช้ payload ดิบ, secret, อัลกอริทึม และการเข้ารหัสผลลัพธ์เดียวกัน; production ควรเปรียบเทียบแบบ constant-time
- ข้อมูลจะออกจากเบราว์เซอร์หรือไม่?
- ไม่ Web Crypto API คำนวณทั้งหมดภายในเบราว์เซอร์
- รองรับอัลกอริทึมใดบ้าง?
- SHA-1, SHA-256 และ SHA-512 โดย SHA-256 ใช้บ่อยที่สุดกับ webhook สมัยใหม่