Apa itu Generator HMAC?
Generator HMAC membuat kode autentikasi pesan berbasis hash berkunci menggunakan kunci rahasia dan algoritma hash (SHA-256, SHA-512, dll.). HMAC memverifikasi integritas dan keaslian data, umumnya digunakan dalam autentikasi API, tanda tangan webhook, dan token JWT.
HMAC mencampur kunci rahasia ke dalam hash, sehingga hanya yang memiliki kunci itu yang bisa memverifikasi tanda tangan. Alat mendukung SHA-1, SHA-256, SHA-384, dan SHA-512 dengan output hex, Base64, Base64URL, atau biner mentah, ditambah preset sekali klik untuk webhook GitHub, Stripe, Slack, dan Shopify yang mengisi otomatis algoritma dan prefiks header yang tepat. Pesan bisa diketik sebagai teks biasa atau ditempel sudah ter-encode dalam hex, Base64, atau Base64URL — pesan didekode menjadi byte mentah sebelum ditandatangani. Penghitung byte langsung menandai kunci yang lebih pendek dari 32 byte yang aman untuk produksi, tanda tangan dihitung ulang saat Anda mengetik, dan kolom verifikasi menoleransi prefiks sha256= atau v0= yang dikirim penyedia tersebut. Pesan dan kunci diproses di perangkat Anda.
Cara menggunakan
- Langkah 1 — Masukkan pesan dan kunci rahasia Anda.
- Langkah 2 — Pilih preset webhook (GitHub, Stripe, Slack, Shopify) atau atur sendiri algoritma hash (SHA-1, SHA-256, SHA-384, atau SHA-512) dan encoding output (hex, Base64, Base64URL, atau biner). Untuk menempel payload yang sudah ter-encode, alihkan input pesan ke Hex atau Base64.
- Langkah 3 — Salin tanda tangan HMAC yang dihasilkan untuk digunakan di header API atau verifikasi webhook.
Kapan menggunakan
- Menandatangani payload webhook agar penerima memastikan asal pengirim dan integritasnya.
- Membuat tanda tangan permintaan untuk AWS Signature Version 4 atau skema autentikasi API serupa.
- Menghasilkan tanda tangan JWT dengan algoritma HS256, HS384, atau HS512.
Hasil
API pembayaran Anda memerlukan permintaan bertanda tangan HMAC-SHA256. Masukkan isi permintaan sebagai pesan, rahasia API Anda sebagai kunci, dan salin tanda tangan yang dihasilkan ke header X-Signature.
FAQ
- Apa beda HMAC dari sekadar SHA-256 atas pesan+kunci?
- HMAC memakai konstruksi hash ganda spesifik dengan kunci dalam dan luar yang sudah di-pad. Konstruksi ini menahan serangan length-extension yang masih bisa terjadi pada skema naif hash(kunci‖pesan) berbasis SHA-1 atau SHA-256.
- Pilih hex atau Base64 untuk output?
- Ikuti yang dimaui API atau penyedia webhook. Hex umum di header HTTP (Stripe, GitHub), Base64 umum di body JSON dan JWT. Tanda tangannya sama, hanya pengkodean yang berbeda.
- Berapa panjang kunci rahasia yang ideal?
- Minimal 32 byte (256 bit) data acak, idealnya dari sumber kriptografis. Terlalu pendek melemahkan keamanan; lebih panjang dari ukuran blok hash (64 byte untuk SHA-256) tidak menambah kekuatan karena HMAC tetap memampatkannya di dalam.
- Kenapa tanda tangan saya beda dari yang dikirim API?
- Hampir selalu yang ditandatangani sendiri tidak persis sama. Spasi, akhir baris, urutan parameter query, URL encoding, dan ada/tidaknya timestamp semua berpengaruh. Ulangi resep penyedia byte demi byte.
- Apakah HMAC-SHA1 masih aman?
- Untuk sistem baru pilih HMAC-SHA256 atau lebih kuat. HMAC-SHA1 secara teknis masih aman karena konstruksi HMAC tidak bergantung pada resistansi tabrakan, tetapi meninggalkan SHA-1 sepenuhnya adalah pilihan paling aman untuk jangka panjang.
Alat terkait
Generator Kunci PGP
Buat pasangan kunci enkripsi PGP
Catatan Aman
Buat dan simpan catatan terenkripsi secara lokal
Enkripsi File
Enkripsi file dengan enkripsi AES-256
Dekoder Sertifikat SSL
Dekode dan periksa sertifikat SSL/TLS
Alat Sandi Caesar
Sandi geser dengan rotasi kustom
Generator Frasa Sandi
Buat frasa sandi yang kuat dan mudah diingat