Cara menggunakan Generator HMAC
- Tempel pesan persis seperti saat ditandatangani — untuk webhook, gunakan raw body request.
- Masukkan secret key dan pilih encoding-nya.
- Pilih algoritma hash; nilai HMAC akan langsung diperbarui.
- Tempel signature yang kamu terima di Expected signature untuk memverifikasinya.
Apa itu HMAC?
HMAC (Hash-based Message Authentication Code, RFC 2104) menggabungkan secret key dengan fungsi hash untuk menghasilkan signature. Siapa pun yang memiliki key bisa menghitung nilai yang sama; siapa pun yang tidak memilikinya tidak bisa memalsukannya. API memakai HMAC untuk menandatangani request (AWS Signature v4, banyak payment gateway), sedangkan webhook memakainya agar kamu bisa memastikan callback benar-benar berasal dari pengirim.
Memverifikasi webhook
| Layanan | Header | Algoritma / encoding |
|---|---|---|
| GitHub | X-Hub-Signature-256 | HMAC-SHA256, hex, diawali sha256= |
| Stripe | Stripe-Signature | HMAC-SHA256 hex dari timestamp.body |
| Shopify | X-Shopify-Hmac-Sha256 | HMAC-SHA256, Base64 |
| Slack | X-Slack-Signature | HMAC-SHA256 hex dari v0:timestamp:body |
Penyebab paling umum signature tidak cocok adalah body sudah berubah sebelum ditandatangani — JSON yang di-parse lalu di-serialize ulang, spasi atau line ending yang berbeda. Selalu tandatangani byte mentah yang kamu terima. Verifier di atas menerima hex (dengan atau tanpa sha256=), Base64, dan Base64url.
HMAC vs hash biasa
Hash SHA-256 biasa hanya membuktikan integritas, bukan keaslian: siapa pun bisa menghitung ulang setelah mengubah pesan. HMAC menyertakan secret, sehingga hanya pemegang key yang bisa menghasilkan nilai yang valid. Gunakan key dengan panjang acak minimal sama dengan output hash (32 byte untuk SHA-256). Di kode server, bandingkan signature dengan fungsi constant-time seperti crypto.timingSafeEqual.
Untuk hash tanpa key, gunakan generator hash; untuk token bertanda tangan, gunakan encoder JWT.
Juga dicari sebagai: hmac sha256, hmac online, hmac sha256 online, signature webhook, hmac sha512, verifikasi hmac.
Tool yang cocok dipakai bersama Generator HMAC
- JWT Decoder — Tempel JSON Web Token untuk memeriksa header dan payload-nya, melihat kapan token kedaluwarsa, dan memverifikasi tanda tangannya.
- Encode / Decode Base64 — Ubah teks ke Base64 dan sebaliknya dengan dukungan UTF-8 penuh (aksen, emoji), beralih ke Base64 URL-safe, atau seret file untuk mendapatkan string Base64 atau data URI-nya.
- Enkripsi & Dekripsi AES — Lindungi catatan, rahasia, atau nilai konfigurasi dengan kata sandi menggunakan AES-256 — atau dekripsi teks hasil openssl enc.
- Validator IBAN — Cek apakah IBAN valid sebelum kamu mengirim uang atau menyimpannya: negaranya, panjang yang sesuai untuk negara tersebut, format nomor rekening, dan checksum mod-97.
Pertanyaan yang sering diajukan
Kenapa HMAC saya tidak cocok dengan signature webhook?
sha256=.