HMAC Generator

Buat Hash-based Message Authentication Code untuk memverifikasi integritas dan otentisitas data menggunakan kunci rahasia (secret key).

Apa itu HMAC?

HMAC (Hash-based Message Authentication Code) adalah mekanisme kriptografi yang menggunakan fungsi hash (seperti SHA-256) dikombinasikan dengan kunci rahasia (secret key).

Berbeda dengan hash biasa, HMAC memastikan dua hal: Integritas (data tidak berubah) dan Otentikasi (data berasal dari pemegang kunci yang sah).

Best Practice & Limitasi

  • Secret Key: Gunakan key yang panjang dan acak. Jangan gunakan kata umum.
  • Keamanan: Proses ini berjalan 100% di browser (Client-Side). Key Anda tidak dikirim ke server.
  • Penggunaan: Cocok untuk memverifikasi Webhook, signing request API, atau validasi cookie.
  • Limitasi: Penerima data harus memiliki secret key yang sama untuk memverifikasi HMAC.

Cara Pakai HMAC Generator

  1. Isi kolom Input String dengan pesan atau payload yang ingin Anda tandatangani.
  2. Masukkan Secret Key secara manual atau klik Generate Random untuk membuat key heksadesimal acak.
  3. Pilih algoritma hash di dropdown Hash Algorithm (misalnya SHA-256 atau SHA-512).
  4. Pilih format output Hex atau Base64 sesuai kebutuhan integrasi.
  5. Klik tombol Calculate HMAC dan salin hasil di kolom HMAC Output untuk digunakan di header atau signature request.

Placeholder yang disarankan: gunakan payload JSON kecil seperti {"order_id":123} dan secret dummy saat mencoba integrasi pertama kali.

FAQ Singkat HMAC Tools

Apakah HMAC sama dengan hash biasa?
Tidak. HMAC menggabungkan fungsi hash dengan secret key, sehingga hanya pihak yang memiliki key yang bisa menghasilkan signature yang sama. Hash biasa tidak menggunakan kunci.

Apakah aman menggunakan secret produksi di sini?
Secara teknis proses berjalan di browser, namun untuk kehati-hatian sebaiknya gunakan secret dummy. Untuk produksi, generate dan simpan secret di backend atau environment yang terlindungi.

Kapan saya perlu mengganti algoritma selain SHA-256?
SHA-256 sudah cukup untuk sebagian besar kasus. SHA-512 dapat dipilih untuk kebutuhan keamanan ekstra, sementara SHA-1 dan MD5 hanya disarankan untuk kompatibilitas legacy.