ข้ามไปยังเนื้อหา
Toova
เครื่องมือทั้งหมด

ตัวสร้าง HMAC (SHA-256, SHA-512)

ออกแบบเพื่อความเป็นส่วนตัว — ทำงานในเบราว์เซอร์ของคุณทั้งหมด

สร้าง signature HMAC-SHA256 (หรือ SHA-1, SHA-512) จากข้อความและกุญแจลับ ในเบราว์เซอร์ของคุณ Toova เป็นเครื่องมือที่ถูกต้องสำหรับการลงนามเพย์โหลด webhook คำขอ API และ flow ใดๆ ที่สองฝ่ายแชร์ความลับและต้องการตรวจสอบความแท้

HMAC ใช้สำหรับอะไร

HMAC เปลี่ยนความลับที่แชร์และข้อความเป็น signature ความยาวคงที่ ผู้รับซึ่งรู้ความลับเช่นกันสามารถคำนวณ HMAC ใหม่และเปรียบเทียบไบต์ต่อไบต์ — หาก signatures ตรงกัน ข้อความเป็นของแท้และไม่ถูกแก้ไข Stripe, GitHub, Slack และระบบ webhook เกือบทุกตัวใช้ HMAC-SHA256 เพื่อลงนามเพย์โหลด เพื่อให้ผู้รับเชื่อต้นกำเนิด

ตัวเลือกอัลกอริทึมและการเข้ารหัส

Toova รองรับ HMAC-SHA256, HMAC-SHA1 และ HMAC-SHA512 SHA-256 เป็นค่าเริ่มต้นสมัยใหม่ เลือกอัลกอริทึมที่ตรงกับเอกสารของบริการที่คุณรวมเข้าด้วยกัน เอาต์พุตเป็น hex โดยค่าเริ่มต้น โดยมี Base64 และ Base64-URL variants — ผู้ให้บริการ webhook ส่วนใหญ่คาดหวังรูปแบบเฉพาะ ดังนั้นตรวจสอบเอกสารก่อนพลิกสวิตช์

การลงนามเฉพาะในเครื่อง

Signature คำนวณในเบราว์เซอร์ของคุณทั้งหมด ข้อความและกุญแจลับของคุณไม่เคยออกจากหน้า สิ่งนี้สำคัญเพราะความลับคือสิ่งที่ทำให้ใครก็ตามสามารถปลอม signature ที่ถูกต้องได้ — การรั่วไหลให้ฟอร์มของบุคคลที่สามจะ compromise ระบบ Toova ปลอดภัยสำหรับการดีบัก webhooks production การตรวจสอบ signatures และการสำรวจการรวม API

คำถามที่พบบ่อย

HMAC กับแฮชธรรมดาแตกต่างกันอย่างไร
แฮชธรรมดาตายตัวสำหรับอินพุตใดๆ — ใครก็สามารถคำนวณได้ HMAC ผสมกุญแจลับ ดังนั้นเฉพาะฝ่ายที่มีกุญแจเท่านั้นที่สามารถสร้าง signature ที่ตรงกัน นั่นคือสิ่งที่ทำให้ HMAC เหมาะสำหรับการตรวจสอบความแท้ ขณะที่แฮชธรรมดาดีเฉพาะสำหรับความสมบูรณ์
ฉันควรเลือกอัลกอริทึมไหน
ใช้ HMAC-SHA256 เว้นแต่บริการที่คุณรวมเข้าด้วยกันต้องการบางอย่างอื่นโดยเฉพาะ SHA-1 ยังคงพบบ่อยในระบบเก่าแต่ไม่ควรใช้ในการออกแบบใหม่ SHA-512 มากเกินไปสำหรับกรณีใช้งานส่วนใหญ่แต่อนุรักษ์นิยมเล็กน้อย
กุญแจควรเป็นสตริงหรือไบต์
HMAC รับลำดับไบต์ Toova ปฏิบัติต่อกุญแจของคุณเป็นข้อความ UTF-8 โดยค่าเริ่มต้น ซึ่งตรงกับสิ่งที่ API ส่วนใหญ่ทำ หาก spec บอกว่า "hex-encoded secret" พลิกสวิตช์ key-encoding เพื่อให้ไบต์ตรงกับสิ่งที่บริการคาดหวัง
ความลับของฉันถูกส่งไปยังเซิร์ฟเวอร์หรือไม่
ไม่ การลงนามเกิดขึ้นในเบราว์เซอร์ของคุณทั้งหมด ความลับและข้อความของคุณไม่ออกจากอุปกรณ์ และแท็บเครือข่ายจะว่างระหว่างการลงนาม
ทำไม signature ของฉันไม่ตรงกับที่บริการคาดหวัง
บ่อยที่สุด: การเข้ารหัสไม่ตรงกัน (hex กับ Base64), newline ต่อท้ายในเพย์โหลด หรืออัลกอริทึมผิด ตรวจสอบทั้งสามตรงกับเอกสารบริการแน่นอน