Lewati ke konten utama

Generator Tanda Tangan API

Buat tanda tangan HMAC-SHA256 dari pesan dan kunci rahasia — pola penandatanganan canonical string yang digunakan oleh skema autentikasi permintaan API bergaya AWS dan generik. Keluaran sebagai hex atau Base64.

Input

Output

HMAC-SHA256 dari pesan di atas, menggunakan kunci rahasia Anda.

Apakah ini membantu?

Panduan

Apa yang alat ini lakukan?

Alat ini menghitung tanda tangan HMAC-SHA256 dari sebuah pesan (sebuah "string untuk ditandatangani") dan kunci rahasia, lalu menampilkan hasilnya sebagai hex atau Base64 — komponen dasar yang sama di balik AWS Signature V4, banyak skema verifikasi webhook, dan kebanyakan sistem autentikasi "tanda tangani permintaan API Anda" buatan sendiri.

Apa itu penandatanganan HMAC, dan mengapa penting?

HMAC (Hash-based Message Authentication Code) menggabungkan fungsi hash kriptografis — di sini, SHA-256 — dengan kunci rahasia sehingga hanya mereka yang mengetahui kunci tersebut yang dapat menghasilkan tanda tangan yang valid untuk sebuah pesan, dan siapa pun yang memiliki kunci dapat memverifikasinya. API menggunakan ini untuk membuktikan dua hal sekaligus: bahwa sebuah permintaan benar-benar berasal dari pemegang kunci rahasia, dan bahwa isinya tidak diubah selama transit. Berbeda dengan SHA-256 biasa, meng-hash pesan saja akan memungkinkan siapa pun menghitung ulang hash yang sama — kunci rahasia itulah yang membuatnya tidak bisa dipalsukan.

Alur yang umum: buat sebuah canonical string dari bagian-bagian permintaan yang relevan (method HTTP, path, header, stempel waktu, body — resep pastinya bervariasi per penyedia), tanda tangani string tersebut dengan HMAC menggunakan kunci rahasia API Anda, lalu kirim tanda tangan yang dihasilkan bersama permintaan, biasanya di sebuah header. Server penerima membuat ulang canonical string yang sama, menandatanganinya dengan kunci yang dimilikinya, dan memeriksa apakah kedua tanda tangan cocok.

Cara menggunakannya

  1. Tempel string yang tepat yang perlu Anda tanda tangani ke String untuk ditandatangani — bisa berupa pesan mentah, atau canonical request string yang disusun sesuai spesifikasi penyedia API Anda (method, path, header, stempel waktu, body, digabung dalam urutan yang diminta).
  2. Masukkan Kunci rahasia Anda.
  3. Pilih Hex atau Base64 untuk keluaran — periksa dokumentasi penyedia API Anda untuk mengetahui mana yang mereka harapkan.
  4. Salin Tanda tangan dan kirim bersama permintaan Anda, biasanya di header Authorization atau header tanda tangan kustom.

Tanda tangan diperbarui otomatis saat Anda mengetik.

FAQ

Apakah ini persis cocok dengan AWS Signature V4 atau skema vendor tertentu? Alat ini menghitung primitif HMAC-SHA256 generik yang menjadi dasar skema-skema tersebut, bukan implementasi spesifik vendor yang lengkap (AWS SigV4, misalnya, menumpuk beberapa putaran derivasi kunci dan format canonical-request yang sangat khusus di atas HMAC-SHA256). Jika penyedia Anda memberi Anda canonical string untuk ditandatangani, tempel string tersebut di sini dan hasil HMAC-nya akan benar; jika membutuhkan kunci turunan/bersarang (seperti rantai kunci penandatanganan SigV4), Anda perlu melakukan langkah-langkah derivasi tersebut sebelum HMAC terakhir.

Mengapa hanya SHA-256? SHA-256 adalah fungsi hash yang hampir semua skema penandatanganan API modern standarkan — ini adalah default yang kuat dan teruji dengan baik tanpa serangan praktis yang diketahui. Skema berbasis SHA-1 yang lebih lama sedang dihentikan di seluruh industri, jadi alat ini tidak menawarkannya.

Hex atau Base64 — mana yang harus saya gunakan? Mana pun yang diharapkan oleh API Anda. Keduanya mengodekan tanda tangan 32-byte yang identik; hex dua kali lebih panjang tetapi lebih mudah diperiksa secara visual, Base64 lebih ringkas. Periksa dokumentasi penyedia Anda.

Bisakah saya menggunakannya untuk memverifikasi tanda tangan yang saya terima? Ya — tanda tangani pesan yang sama dengan kunci rahasia yang sama dan bandingkan hasilnya (karakter demi karakter) dengan tanda tangan yang Anda terima. Ketidakcocokan berarti pesan atau kunci tidak sesuai dengan yang digunakan pengirim.

Privasi

Saat digunakan di browser, semuanya — termasuk kunci rahasia Anda — dihitung secara lokal dalam JavaScript dan tidak pernah dikirim atau dicatat. Jika Anda memanggil alat ini melalui API, pesan dan kunci Anda diproses hanya untuk satu permintaan itu saja dan tidak dicatat atau disimpan di sisi server; meski begitu, perlakukan API secret apa pun yang Anda tempel di sini (browser atau API) sebagai informasi sensitif, dan hindari menggunakan kembali kunci produksi di lingkungan bersama atau yang tercatat jika memungkinkan.

hmacsha256signatureapiauthenticationcryptohashhexbase64

Use it from code

From 3 credits per call

REST API

curl -X POST https://api.iotools.cloud/v1/tool/api-signature-generator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "message",
    "secretKey": "key",
    "outputFormat": "hex"
  }'

Swap in your own key from your account. The tool's fields are the body — no wrapper.

Ask an AI agent

Use the IOTools `api-signature-generator` tool (API Signature Generator) on this input:

YOUR_INPUT_HERE

Paste this at any agent connected to the IOTools MCP server, then add your input.

Suka alat-alatnya? Hilangkan iklannya.

Satu kali pembayaran menghapus semua iklan dari akun Anda, selamanya. Tanpa langganan, tanpa pelacakan.