Penjana HMAC (HMAC-SHA256 dalam Pelayar)
Halaman penjanaan HMAC SHA256 tanpa rangkaian untuk pengiraan HMAC pantas dan pengesahan tandatangan.
Semuanya berjalan secara setempat dalam pelayar anda. Kunci dan mesej tidak pernah dihantar atau disimpan.
Cara menggunakan (HMAC signature)
- Masukkan kunci. Jika spesifikasi API anda memberikan bait kunci binari, pilih format input Hex atau Base64.
- Masukkan payload mesej yang hendak ditandatangani.
- Pilih format output (Hex / Base64 / Base64URL) dan salin hasil.
Contoh (vektor ujian)
Contoh 1 (semakan ringkas)
Input: Kunci = secret (UTF-8), Mesej = message (UTF-8)
HMAC-SHA256 (Hex):8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64):i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
Contoh 2 (frasa biasa)
Input: Kunci = key, Mesej = The quick brown fox jumps over the lazy dog
Hex:f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
Base64:97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=
Perangkap biasa
- Perbezaan baris baharu LF vs CRLF menghasilkan tandatangan yang berbeza.
- Memangkas ruang awal/akhir boleh merosakkan padanan tandatangan API.
- Base64URL selalunya bermaksud + menjadi -, / menjadi _, dan padding = digugurkan. Semak spesifikasi API anda.
- Jika kunci diedarkan sebagai bait Hex/Base64, menganggapnya sebagai teks biasa akan menyebabkan ketidakpadanan.
Soalan Lazim
Adakah kunci saya disimpan?
Tidak. Alat ini mengira dalam pelayar anda dan tidak menghantar input kunci/mesej ke mana-mana pelayan.
Base64 atau Hex?
Kedua-duanya biasa digunakan. Anda boleh memilih output Hex / Base64 / Base64URL untuk memadankan spesifikasi API anda.
Apakah pengekodan aksara yang digunakan (UTF-8)?
Input teks dikodkan sebagai UTF-8 sebelum pengiraan HMAC. Untuk nilai binari, gunakan input Hex/Base64.
Apakah beza antara HMAC dan hash SHA-256?
SHA-256 ialah hash biasa. HMAC menambah kunci rahsia untuk pengesahan mesej.
Output saya tidak sepadan. Apa yang perlu saya semak?
Semak tafsiran kunci (teks vs bait), pengendalian baris baharu, trim ruang putih, dan peraturan Base64URL.
Tambahan
Apakah HMAC?
HMAC ialah kod pengesahan mesej berasaskan hash berkunci yang menggunakan kunci rahsia dan fungsi hash.
Perbezaan daripada SHA-256
SHA-256 sahaja tidak mempunyai kunci rahsia. HMAC-SHA256 memerlukan kunci bersama dan digunakan untuk tandatangan.
Kes penggunaan biasa
Penandatanganan permintaan API, pengesahan webhook, dan semakan integriti token.