Toolonit
  1. Beranda
  2. Enkripsi
  3. HMAC

Generator & Verifikasi HMAC

Buat dan periksa signature HMAC-SHA256 dan HMAC lainnya dengan kunci rahasia.

0 byte
Kunci berupa
Algoritma
Output
HMAC-SHA-256Masukkan kunci rahasia untuk melihat HMAC.

Opsional. Nilai header X-Hub-Signature-256 dari GitHub (sha256=…) bisa ditempel apa adanya.

HMAC adalah signature yang dibuat dari sebuah pesan dan kunci rahasia bersama: siapa pun yang punya kuncinya bisa menghitungnya lagi, dan perubahan apa pun pada pesan atau kunci menghasilkan nilai yang berbeda. Webhook (GitHub, Stripe, Slack), permintaan API bertanda tangan, dan token JWT HS256 semuanya memakainya. HMAC diperbarui saat Anda mengetik, dan Anda bisa menempel signature untuk mengeceknya. Nilainya dihitung oleh Web Crypto bawaan browser Anda, jadi pesan dan kunci tidak pernah keluar dari perangkat; gratis dan tanpa perlu mendaftar.

Cara membuat dan memverifikasi HMAC

  1. Tempel pesan persis seperti saat ditandatangani — untuk webhook, body permintaan mentahnya.
  2. Masukkan kunci rahasia, atau klik Buat untuk kunci acak; pilih Hex jika kunci Anda berupa byte hex.
  3. Pilih algoritma (SHA-256 kecuali diminta lain) lalu salin hasilnya sebagai hex atau Base64.
  4. Untuk mengecek signature, tempel di bawah Cek signature — nilai header GitHub sha256=… bisa dipakai apa adanya.

Fitur

  • HMAC-SHA1, HMAC-SHA256, HMAC-SHA384, dan HMAC-SHA512
  • Kunci rahasia berupa teks (UTF-8) atau hex, atau kunci acak 32 byte dari tombol Buat
  • Hasil dalam hex atau Base64, diperbarui saat Anda mengetik
  • Mengecek signature yang diterima dalam hex atau Base64 (termasuk yang URL-safe), dengan atau tanpa awalan sha256= GitHub atau v0= Slack
  • Memberi tahu jika panjang signature cocok dengan algoritma lain, dengan tombol untuk beralih
  • Dihitung dengan Web Crypto bawaan browser Anda

Apakah privasi terjaga?

Ya. HMAC dihitung oleh Web Crypto bawaan browser Anda; pesan dan kunci rahasia tetap berada di halaman ini dan tidak pernah diunggah atau disimpan.

Pertanyaan umum

Bagaimana cara memverifikasi signature webhook GitHub?

Tempel body permintaan mentah sebagai pesan, secret webhook Anda sebagai kunci teks, dan nilai header X-Hub-Signature-256 di bawah Cek signature. GitHub mengirim sha256= diikuti HMAC-SHA256 dalam hex dari body tersebut, dan awalannya dibaca apa adanya.

Bagaimana cara mengecek signature JWT HS256?

Tempel header dan payload token — semua yang ada sebelum titik kedua — sebagai pesan, secret sebagai kunci, pilih SHA-256, lalu tempel bagian ketiga token di bawah Cek signature. Base64 URL-safe-nya dibaca apa adanya.

Mengapa signature saya tidak cocok?

Pesannya harus sama persis byte demi byte dengan yang ditandatangani: JSON yang diformat ulang, baris baru di akhir yang hilang atau berlebih, atau akhir baris Windows (CRLF) semuanya mengubah HMAC. Teks yang diketik di sini memakai baris baru LF. Periksa juga algoritmanya dan apakah kuncinya berupa teks atau hex.

Apakah hasilnya sama dengan OpenSSL?

Ya. printf '%s' 'message' | openssl dgst -sha256 -hmac 'key' mencetak nilai hex yang sama, dan kunci hex cocok dengan -mac HMAC -macopt hexkey:…. Pakai printf atau echo -n: echo biasa menambahkan baris baru yang ikut ditandatangani.

Apakah HMAC-SHA1 masih aman dipakai?

Untuk HMAC, secara praktis ya: tabrakan SHA-1 yang sudah diketahui tidak membobol HMAC-SHA1, itulah sebabnya webhook lama masih memakainya. Untuk yang baru, pilih HMAC-SHA256.

Alat terkait