Webhook 簽章驗證器

驗證 GitHub、Stripe、Slack、Shopify 與 Standard Webhooks 簽章,並找出失敗原因

輸入

只保留在記憶體中,絕不會被儲存、記錄或傳送。

每行一個「名稱: 值」,或一個 JSON 物件。名稱不區分大小寫。

必要標頭

  • X-Hub-Signature-256缺少

文字方塊會把 CRLF 換行轉成 LF。若精確位元組很重要,請以 Hex 或 Base64 貼上本文,或從檔案載入。

貼上原始 HTTP 請求

請求列、標頭、一個空行,然後是本文。

結果

尚無可驗證的內容
輸入簽章金鑰、標頭與原始本文,或載入範例。

詳細資料

輸入完整後,驗證步驟會顯示在這裡。
驗證器檢查什麼

貼上一次 Webhook 傳送(簽章金鑰、標頭與精確的原始本文),即可依各供應商自己的規則重新計算簽章:GitHub 的 X-Hub-Signature-256、包含請求時間戳記的 Slack v0 簽章、Shopify 的 Base64 HMAC、Stripe 的 t= 與 v1= 簽章(金鑰輪替期間任一 v1 相符即可)、Standard Webhooks 與 Svix 的 webhook-id、webhook-timestamp 與 webhook-signature,以及可自訂的通用 HMAC。簽章有效性與時間戳記新鮮度會分開回報。

驗證為何失敗

簽章涵蓋的是精確位元組。簽章不相符時,驗證器會套用常見錯誤重新計算,並指出第一個相符的原因:結尾換行被加上或遺失、CRLF 與 LF 互轉、JSON 經解析後重新序列化、金鑰前後有空白、whsec_ 金鑰未經 Base64 解碼就使用,或屬於其他供應商方案。缺少的標頭、格式錯誤的簽章,以及過舊或在未來的時間戳記都會各自列出。

精確位元組

驗證一律使用原始本文,格式化預覽僅供顯示。文字方塊會把 CRLF 換行轉成 LF,因此在精確位元組很重要時,請以 Hex 或 Base64 貼上本文,或從檔案載入。可接受最大 5 MB 的本文與 64 KB 的金鑰。

隱私與限制

所有處理都在瀏覽器中以 Web Crypto 完成。金鑰只保留在記憶體中,絕不會被儲存、放入 URL、記錄或傳送;只會記住供應商與容許範圍。本工具不會重送請求或聯絡供應商,也不驗證 Standard Webhooks v1a(Ed25519)等非對稱簽章。

CodingTool 已正式上線於

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch