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.
Input dan Output
Halaman ini melakukan perhitungan sepenuhnya di dalam browser dan tidak mengirimkan data.
* 'Urutan byte' sesuai spesifikasi API sangat penting. Jika kunci adalah biner, harap masukkan dalam Hex/Base64.
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 Masukkan Kunci (Pilih Hex / Base64 jika spesifikasi API adalah biner)
- 2 Masukkan Pesan (String untuk ditandatangani / payload)
- 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.
Kesalahan Umum
Hasil berubah jika penanganan newline bervariasi.
Karena tanda tangan mengasumsikan pencocokan persis, menghapus spasi putih dapat menyebabkan ketidakcocokan.
Base64URL biasanya menggunakan +→-, /→_, dan menghilangkan =. Harap periksa spesifikasinya.
Contoh: Memasukkan 'deadbeef' sebagai 'string' vs memasukkannya sebagai 'urutan byte 0xDE 0xAD...'.
Informasi Tambahan
Mekanisme untuk membuat tanda tangan dari kunci rahasia dan pesan. Pihak ketiga tidak dapat membuat hasil yang sama tanpa kunci yang sama.
SHA-256 adalah 'hash', HMAC adalah 'hash dengan kunci (tanda tangan)'.
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.