Data Tidak Dikirim

Generator HMAC (Hitung HMAC-SHA256 di Browser)

Alat perhitungan HMAC untuk menghasilkan HMAC-SHA256 di sini. Kunci dan input tidak dikirim maupun disimpan.

Mendukung input Teks/Hex/Base64 dan output Hex/Base64. Menghitung secara aman menggunakan Crypto API standar browser.

Perhitungan Lokal Tanpa Penyimpanan Mendukung Hex/Base64

Input dan Output

Halaman ini melakukan perhitungan sepenuhnya di dalam browser dan tidak mengirimkan data.

Data Tidak Dikirim
Format Input

* 'Urutan byte' sesuai spesifikasi API sangat penting. Jika kunci adalah biner, harap masukkan dalam Hex/Base64.

Format Input
Panjang Output: 32 byte (SHA-256)
Opsi

Hasil akan berubah jika kode newline berbeda karena OS atau kopy-paste.

Karena tanda tangan API mengharuskan 'pencocokan persis', membiarkan apa adanya umumnya disarankan.

Penggunaan

3 langkah dasar untuk membuat tanda tangan HMAC.

  1. 1 Masukkan Kunci (Pilih Hex / Base64 jika spesifikasi API adalah biner)
  2. 2 Masukkan Pesan (String untuk ditandatangani / payload)
  3. 3 Pilih Format Output (Hex / Base64) dan Salin

HMAC dihitung pada 'urutan byte', bukan 'string karakter'. Meskipun terlihat sama, hasil akan berbeda jika pengodean karakter, newline, atau spasi ekstra berbeda (mengasumsikan UTF-8).

Contoh (Vektor Uji untuk Verifikasi)

Klik 'Muat Contoh' untuk mengisi kolom input.

Contoh 1
Kunci (Teks/UTF-8)
secret
Pesan (Teks/UTF-8)
message
HMAC-SHA256 (Hex)
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64)
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
Contoh 2
Kunci (Teks/UTF-8)
key
Pesan (Teks/UTF-8)
The quick brown fox jumps over the lazy dog
HMAC-SHA256 (Hex)
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
HMAC-SHA256 (Base64)
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

Kesalahan Umum

Perbedaan Kode Newline (LF/CRLF)

Hasil berubah jika penanganan newline bervariasi.

Pemotongan (Hapus Spasi Putih)

Karena tanda tangan mengasumsikan pencocokan persis, menghapus spasi putih dapat menyebabkan ketidakcocokan.

Notasi Base64URL

Base64URL biasanya menggunakan +→-, /→_, dan menghilangkan =. Harap periksa spesifikasinya.

Penanganan Kunci (Teks vs Biner)

Contoh: Memasukkan 'deadbeef' sebagai 'string' vs memasukkannya sebagai 'urutan byte 0xDE 0xAD...'.

Informasi Tambahan

Apa itu HMAC?

Mekanisme untuk membuat tanda tangan dari kunci rahasia dan pesan. Pihak ketiga tidak dapat membuat hasil yang sama tanpa kunci yang sama.

Perbedaan dari SHA-256

SHA-256 adalah 'hash', HMAC adalah 'hash dengan kunci (tanda tangan)'.

Kasus Penggunaan

Digunakan untuk tanda tangan API, verifikasi Webhook, deteksi perusakan permintaan, dll.

FAQ

Apakah kuncinya disimpan?

Tidak disimpan. Alat ini menghitung di dalam browser dan tidak mengirimkan kunci atau pesan ke server. (※ Sebagai tindakan pencegahan, harap reset setelah memasukkan pada PC bersama)

Base64 atau Hex?

Keduanya digunakan. Anda dapat memilih format output (Hex / Base64 / Base64URL). Silakan pilih sesuai dengan spesifikasi API.

Pengodean Karakter?

Mengasumsikan UTF-8. Input teks dikonversi ke byte sebagai UTF-8 untuk perhitungan. Gunakan input Hex / Base64 untuk menangani biner.

Perbedaan antara HMAC dan hash SHA-256?

SHA-256 adalah 'hash', HMAC adalah 'hash dengan kunci (tanda tangan)'. Hasil yang sama tidak dapat dihasilkan kecuali kuncinya cocok.

Output tidak cocok

Penyebab umum adalah (1) Penanganan kunci (Teks vs Biner), (2) Newline, (3) Spasi putih, (4) Base64URL. Silakan periksa kesalahan umum di atas secara berurutan.