Bahasa
English English Vietnamese (Tiếng Việt) Vietnamese (Tiếng Việt) Chinese (简体中文) Chinese (简体中文) Portuguese (Brazil) (Português do Brasil) Portuguese (Brazil) (Português do Brasil) Spanish (Español) Spanish (Español) Indonesian (Bahasa Indonesia) Indonesian (Bahasa Indonesia)
Pembuat HMAC

Pembuat HMAC

Hasilkan kode autentikasi HMAC dengan 8 algoritma (SHA-256, SHA-512, MD5, dan lainnya). Verifikasi tanda tangan webhook dan token API secara instan.

Apa itu HMAC?

HMAC (Hash-based Message Authentication Code) adalah mekanisme kriptografi yang menggabungkan kunci rahasia dengan fungsi hash untuk menghasilkan kode autentikasi. Ini menyediakan integritas data dan autentikasi — memastikan bahwa pesan tidak telah dimanipulasi dan dikirim oleh seseorang yang mengetahui kunci rahasia.

Tujuan Inti: HMAC memverifikasi keaslian dan integritas pesan, menjadikannya penting untuk komunikasi aman antar sistem.

Kasus Penggunaan Umum

Verifikasi Webhook

Layanan seperti Stripe, GitHub, dan Shopify menandatangani payload webhook dengan HMAC-SHA256 sehingga Anda dapat memverifikasi bahwa mereka asli dan tidak telah dimanipulasi selama transmisi.

Autentikasi API

AWS Signature V4 dan banyak API REST menggunakan HMAC untuk menandatangani permintaan, memastikan bahwa panggilan API berasal dari klien yang berwenang dengan kredensial yang valid.

Penandatanganan JWT

HMAC-SHA256 (HS256) adalah algoritma umum untuk JSON Web Tokens, menyediakan metode penandatanganan simetris untuk autentikasi tanpa status.

Integritas Pesan

Verifikasi bahwa data tidak telah dimodifikasi selama transmisi, memastikan pesan yang diterima persis seperti yang dikirim.

Cara Kerja HMAC

HMAC mengambil dua input — kunci rahasia dan pesan — dan menjalankannya melalui fungsi hash (seperti SHA-256) dengan cara khusus yang membuat sangat sulit untuk memalsukan tanpa mengetahui kunci.

Formula HMAC
HMAC(K, m) = H((K' ⊕ opad) || H((K' ⊕ ipad) || m))

Di mana:

  • H adalah fungsi hash (misalnya, SHA-256)
  • K adalah kunci rahasia
  • m adalah pesan untuk diautentikasi
  • opad dan ipad adalah konstanta padding yang memastikan keamanan
Keuntungan Keamanan: Struktur hash bersarang dengan padding kunci membuat HMAC tahan terhadap serangan perpanjangan panjang dan memastikan bahwa bahkan jika fungsi hash memiliki kelemahan, konstruksi HMAC tetap aman.

Cara Menggunakan Pembuat HMAC Ini

1

Pilih Algoritma

Pilih algoritma HMAC Anda dari menu dropdown. SHA-256 dipilih secara default dan direkomendasikan untuk sebagian besar kasus penggunaan. MD5 dan SHA-1 tersedia untuk kompatibilitas warisan tetapi ditandai sebagai tidak aman.

2

Masukkan Kunci Rahasia Anda

Ketik atau tempel kunci rahasia Anda di bidang input kunci. Jika kunci Anda dalam format biner, gunakan pemilih tipe input untuk beralih antara encoding String, Hex, atau Base64.

3

Masukkan Pesan Anda

Masukkan pesan yang ingin Anda autentikasi. Seperti kunci, Anda dapat mengubah tipe input jika pesan Anda dikodekan hex atau base64.

4

Dapatkan HMAC Anda

HMAC dihasilkan secara otomatis saat Anda mengetik. Output Hex dan Base64 ditampilkan secara bersamaan. Klik tombol salin di sebelah output mana pun untuk menyalinnya ke papan klip Anda.

Memverifikasi HMAC

Untuk membandingkan HMAC yang dihasilkan dengan nilai yang diharapkan, aktifkan kotak centang Verifikasi HMAC. Tempel HMAC yang diharapkan — alat ini menerima format hex dan base64 dan menampilkan lencana Cocok atau Tidak Cocok secara instan.

Tip Pro: Saat memverifikasi tanda tangan webhook, pastikan untuk menggunakan badan permintaan mentah yang tepat tanpa modifikasi apa pun. Bahkan perbedaan satu karakter akan menyebabkan verifikasi gagal.

Fitur

8 Algoritma HMAC

Hasilkan kode HMAC dengan berbagai algoritma hash untuk memenuhi persyaratan integrasi apa pun:

SHA-256 Direkomendasikan

Pilihan standar untuk webhook, API, dan JWT (HS256). Menyediakan keamanan yang sangat baik dengan output 256-bit.

SHA-512

Keamanan lebih tinggi dengan output 512-bit. Ideal untuk aplikasi yang memerlukan kekuatan kriptografi maksimal.

SHA-384 & SHA-224

Varian SHA-2 alternatif yang menawarkan output 384-bit dan 224-bit untuk persyaratan keamanan spesifik.

SHA3-256 & SHA3-512

Algoritma SHA-3 generasi terbaru berdasarkan algoritma Keccak, menawarkan standar kriptografi modern.

Algoritma Warisan: SHA-1 dan MD5 tersedia untuk kompatibilitas mundur tetapi ditandai sebagai tidak aman. Gunakan SHA-256 atau lebih tinggi untuk implementasi baru.

Format Input Fleksibel

Baik kunci rahasia maupun pesan menerima tiga tipe input, penting saat bekerja dengan kunci biner dari API atau debugging ketidakcocokan encoding:

String (UTF-8)

Input teks standar untuk kunci dan pesan yang dapat dibaca manusia. Format paling umum untuk rahasia API.

Hex

Representasi byte heksadesimal. Gunakan ketika kunci Anda disediakan sebagai byte hex mentah dari dasbor API.

Base64

Data biner yang dikodekan Base64. Umum di header HTTP dan file konfigurasi.

Tampilan Output Ganda

Lihat representasi Hex dan Base64 dari HMAC Anda pada saat yang sama — tidak perlu beralih. Toggle huruf besar memungkinkan Anda mengubah output hex antara huruf kecil dan huruf besar.

Output Hex

Format Heksadesimal

  • Representasi lebih panjang
  • Lebih mudah dibaca dan di-debug
  • Dua karakter per byte
  • Toggle huruf besar/kecil
Output Base64

Format Base64

  • 33% lebih kompak
  • Umum di header HTTP
  • Digunakan dalam token JWT
  • Varian aman URL tersedia

Verifikasi HMAC

Mode verifikasi bawaan memungkinkan Anda menempel nilai HMAC yang diharapkan dan langsung melihat apakah cocok dengan output yang dihasilkan. Ini mendukung format hex dan base64 dan menormalkan spasi dan huruf untuk perbandingan hex.

Validasi Instan

Perbandingan real-time dengan lencana Cocok/Tidak Cocok saat Anda mengetik.

Fleksibilitas Format

Menerima format input hex dan base64 secara otomatis.

Normalisasi Cerdas

Menangani perbedaan spasi dan huruf dalam nilai hex.

Data Anda Tetap Pribadi

Semua komputasi HMAC terjadi sepenuhnya di browser Anda menggunakan perpustakaan CryptoJS:

  • Tidak ada unggahan — Kunci rahasia dan pesan Anda tidak pernah meninggalkan perangkat Anda
  • Tidak ada pemrosesan server — Semuanya berjalan sisi klien dalam JavaScript
  • Tidak ada pelacakan — Kami tidak mencatat atau menyimpan data input apa pun
  • Mampu offline — Bekerja tanpa koneksi internet setelah dimuat
100% Sisi Klien: Kunci kriptografi dan data sensitif Anda tetap sepenuhnya pribadi. Semua komputasi terjadi secara lokal di browser Anda tanpa komunikasi server.

Pertanyaan yang Sering Diajukan

Algoritma HMAC mana yang harus saya gunakan?

SHA-256 adalah yang paling banyak digunakan dan direkomendasikan untuk sebagian besar aplikasi. Ini digunakan oleh webhook Stripe, GitHub, Shopify, dan tanda tangan API AWS. Gunakan SHA-512 jika Anda memerlukan keamanan lebih tinggi, atau varian SHA3 untuk standar terbaru.

Standar Industri: SHA-256 menawarkan keseimbangan terbaik antara keamanan, kinerja, dan kompatibilitas di seluruh platform dan layanan.

Mengapa MD5 dan SHA-1 ditandai sebagai tidak aman?

MD5 dan SHA-1 memiliki kelemahan kriptografi yang diketahui — serangan tabrakan telah ditunjukkan untuk keduanya. Meskipun HMAC-MD5 dan HMAC-SHA1 masih dianggap aman dalam beberapa konteks (konstruksi HMAC menambah keamanan), praktik terbaik adalah menggunakan SHA-256 atau lebih tinggi untuk implementasi baru.

Migrasi Direkomendasikan: Jika Anda saat ini menggunakan MD5 atau SHA-1, rencanakan untuk bermigrasi ke SHA-256 atau SHA-512 untuk keamanan jangka panjang.

Apa perbedaan antara output Hex dan Base64?

Hex mewakili setiap byte sebagai dua karakter heksadesimal (0-9, a-f). Lebih panjang tetapi lebih mudah dibaca dan di-debug. Base64 lebih kompak (sekitar 33% lebih pendek) dan umum digunakan di header HTTP dan JWT. Pilih format mana pun yang diharapkan API atau layanan Anda.

Format Panjang Penggunaan Umum Keterbacaan
Hex 64 karakter (SHA-256) Debugging, log Tinggi
Base64 44 karakter (SHA-256) Header HTTP, JWT Sedang

Kapan saya harus menggunakan tipe input Hex atau Base64 untuk kunci?

Jika kunci rahasia Anda disediakan sebagai string hex (misalnya, dari dasbor API yang menampilkan byte mentah) atau string base64, pilih tipe input yang cocok sehingga alat ini menafsirkan data biner dengan benar. Sebagian besar waktu, "String" (UTF-8) adalah pilihan yang tepat.

  • String (UTF-8) — Gunakan untuk kata sandi teks biasa dan kunci API seperti "my_secret_key_123"
  • Hex — Gunakan ketika kunci Anda terlihat seperti "a3f5b2c8d1e4..." (byte heksadesimal)
  • Base64 — Gunakan ketika kunci Anda terlihat seperti "SGVsbG8gV29ybGQ=" (base64-encoded)

Bagaimana cara memverifikasi tanda tangan webhook?

Masukkan rahasia penandatanganan webhook sebagai kunci, tempel badan permintaan mentah sebagai pesan, pilih algoritma yang digunakan layanan Anda (biasanya SHA-256), kemudian aktifkan Verifikasi HMAC dan tempel tanda tangan dari header webhook untuk memeriksa apakah cocok.

1

Dapatkan Rahasia

Salin rahasia penandatanganan dari dasbor layanan

2

Badan Mentah

Tempel badan permintaan yang tepat

3

Verifikasi

Bandingkan dengan tanda tangan header

Kritis: Gunakan badan permintaan mentah yang tidak dimodifikasi. Jangan parse atau format ulang JSON — bahkan perubahan spasi akan menyebabkan verifikasi gagal.

Apakah data saya aman?

Ya. Semua komputasi HMAC berjalan sepenuhnya di browser Anda — tidak ada data yang dikirim ke server mana pun. Kunci rahasia dan pesan Anda tetap di perangkat Anda setiap saat.

Pemrosesan Sisi Klien 100%
Privasi Data 100%
Unggahan Server 0%
Tidak Aman
Kunci Rahasia
Pesan
HMAC Keluaran

Masukkan kunci rahasia dan pesan untuk membuat HMAC

Hex
Base64
Siap
|
Pilih algoritma dari menu dropdown — SHA-256 direkomendasikan untuk sebagian besar kasus penggunaan
Gunakan pemilih tipe input (String/Hex/Base64) ketika kunci atau pesan Anda dalam format biner
Aktifkan Verifikasi HMAC untuk membandingkan output Anda dengan nilai yang diharapkan — mendukung format Hex dan Base64
MD5 dan SHA-1 ditandai sebagai Tidak Aman — gunakan SHA-256 atau lebih tinggi untuk produksi
Klik Data Contoh untuk memuat contoh tanda tangan webhook
Semua komputasi terjadi di browser Anda — kunci dan pesan Anda tidak pernah dikirim ke server mana pun
Ingin belajar lebih banyak? Baca dokumentasi →
1/7
Tidak menemukan? Buat alat sendiri dengan AI
Mulai ketik untuk mencari...
Mencari...
Tidak ada hasil yang ditemukan
Coba gunakan kata kunci yang berbeda