Generator HMAC: SHA-1, SHA-256, SHA-512

Ketik pesan dan kunci rahasia. Anda mendapat HMAC dari pesan dengan empat fungsi hash, dalam heksadesimal dan Base64, yang dihitung di peramban Anda.

Gratis Berjalan di peramban Anda Diperiksa Selasa, 10 November 2026

Data yang diautentikasi. Teks dibaca sebagai UTF-8 persis seperti yang diketik. Heksadesimal atau Base64 dibaca sebagai byte.

Pengodean pesan

Cara pesan ditulis.

Kunci rahasia. Hanya orang yang memiliki kunci yang sama dapat membuat HMAC yang sama, jadi jagalah kerahasiaannya.

Pengodean kunci

Cara kunci ditulis. Base64 juga membaca alfabet aman-URL dari nilai "k" JWK.

Hasil

Nilai HMAC

Alat ini berjalan di peramban Anda. Apa yang Anda masukkan tidak dikirim kepada kami.

Cara memakai

  1. Ketik data ke Pesan. Untuk data biner, pilih Heksadesimal atau Base64 pada Pengodean pesan.
  2. Ketik rahasia ke Kunci dan pilih cara penulisannya pada Pengodean kunci.
  3. Baca keempat baris Nilai HMAC. Salin nilai yang Anda perlukan, atau bandingkan dengan nilai yang diberikan sistem Anda.
  4. Jika nilainya berbeda dari sistem lain, periksa byte-nya lebih dulu: pemisah baris atau pengodean yang berbeda menghasilkan HMAC yang berbeda.

Apa itu HMAC

HMAC (RFC 2104) adalah kode autentikasi pesan: nilai pendek yang hanya dapat dibuat oleh orang yang mengetahui kunci rahasia. Ia dibangun dari fungsi hash biasa H, yang diterapkan dua kali pada pesan dan kunci, sehingga hash yang sama dapat dipakai untuk keempat baris tabel. Karena kunci diperlukan, HMAC yang cocok menunjukkan bahwa pesan tidak diubah dan berasal dari pemegang kunci.

HMAC tidak menyembunyikan pesan. Siapa pun yang memiliki pesan dapat membacanya; HMAC hanya memungkinkan mereka memeriksanya.

HMAC(K, m) = H((K XOR opad) || H((K XOR ipad) || m))

ipad = byte 0x36 yang diulang B kali
opad = byte 0x5C yang diulang B kali
B    = ukuran blok H: 64 byte untuk SHA-1 dan SHA-256, 128 byte untuk SHA-384 dan SHA-512

Hash mana dan kunci mana

HMAC-SHA-256 adalah pilihan yang paling umum, dan yang dipakai banyak webhook serta API. HMAC-SHA-512 adalah konstruksi yang sama dengan keluaran lebih panjang. HMAC-SHA-1 masih muncul di sistem lama, dan bukan pilihan untuk desain baru.

Kunci sebaiknya acak dan setidaknya sepanjang keluaran hash. Kunci yang diketik sebagai satu kata atau frasa pendek mudah ditebak, dan kunci yang tertebak membuat HMAC tidak berguna.

Heksadesimal dan Base64

Kedua bentuk menampilkan byte yang sama. Heksadesimal menulis setiap byte sebagai dua digit, sehingga SHA-256 memiliki 64 digit. Base64 menulis tiga byte sebagai empat karakter, sehingga SHA-256 memiliki 44 karakter, yang terakhir berupa = sebagai pengisi (RFC 4648).

  • HMAC-SHA-1: 40 digit heksadesimal, 28 karakter Base64
  • HMAC-SHA-256: 64 digit heksadesimal, 44 karakter Base64
  • HMAC-SHA-384: 96 digit heksadesimal, 64 karakter Base64
  • HMAC-SHA-512: 128 digit heksadesimal, 88 karakter Base64

Contoh: RFC 4231 kasus uji 2

Kunci Jefe dan pesan what do ya want for nothing? adalah kasus uji kedua RFC 4231 untuk SHA-256, SHA-384 dan SHA-512, serta RFC 2202 untuk SHA-1. Tabel di bawah adalah yang ditampilkan halaman untuk keduanya, dan nilai HMAC-SHA-256-nya adalah yang dicetak RFC: 5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843.

Algoritma Heksadesimal Base64
HMAC-SHA-1 effcdf6ae5eb2fa2d27416d5f184df9c259a7c79 7/zfauXrL6LSdBbV8YTfnCWafHk=
HMAC-SHA-256 5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843 W9zBRr9gdU5qBCQmCJV1x1oAPwidJzmDnexYuWTsOEM=
HMAC-SHA-384 af45d2e376484031617f78d2b58a6b1b9c7ef464f5a01b47e42ec3736322445e8e2240ca5e69e2c78b3239ecfab21649 r0XS43ZIQDFhf3jStYprG5x+9GT1oBtH5C7Dc2MiRF6OIkDKXmnix4syOez6shZJ
HMAC-SHA-512 164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737 Fkt6e/z4GeLjlfvnO1bgo4e9ZCIugx/WECcM1+olBVSXWL91wFqZSm0DT2X48Ob9yuqxo01Ka0tjbgcKOLznNw==

Pertanyaan yang sering diajukan

Apakah HMAC sama dengan mengenkripsi pesan?

Tidak. HMAC tidak menyembunyikan pesan, sehingga siapa pun dapat membacanya. Ia menunjukkan bahwa pesan tidak diubah dan bahwa pengirim mengetahui kuncinya. Untuk kerahasiaan, Anda memerlukan enkripsi.

Apa beda hash dan HMAC?

Hash hanya bergantung pada pesan, sehingga siapa pun dapat menghitungnya. HMAC juga memerlukan kunci rahasia, sehingga hanya orang yang memiliki kunci yang dapat membuat atau memeriksanya. Untuk ringkasan biasa, gunakan generator hash.

Mengapa HMAC saya berbeda dengan yang diberikan pustaka saya?

Kunci atau byte pesannya berbeda. Kunci yang diketik sebagai teks adalah byte UTF-8-nya, dan huruf yang sama yang ditulis dalam heksadesimal adalah byte yang berbeda. Pemisah baris di akhir pesan juga mengubah HMAC.

Berapa panjang kunci yang harus saya pakai?

Pakai kunci acak yang setidaknya sepanjang keluaran hash: 32 byte untuk HMAC-SHA-256. RFC 2104 sangat tidak menganjurkan kunci yang lebih pendek, dan kunci yang dibuat dari kata atau frasa pendek mudah ditebak.

Bisakah saya memeriksa tanda tangan webhook dengan halaman ini?

Bisa, jika Anda memakai byte persis yang ditandatangani. Tanda tangan webhook biasanya dihitung dari isi permintaan mentah, jadi tempel isinya tanpa perubahan: isi JSON yang diformat ulang menghasilkan HMAC yang berbeda.

Apakah kunci atau pesan saya dikirim ke suatu tempat?

Tidak. HMAC dihitung di peramban Anda dengan SubtleCrypto milik peramban. Kunci dan pesannya tidak diunggah atau disimpan.

Sumber

Angka dan teks terakhir diperiksa pada Selasa, 10 November 2026.

Kami memakai cookie yang diperlukan agar situs berjalan. Dengan persetujuan Anda, Google juga memakai cookie iklan untuk menampilkan iklan yang dipersonalisasi. Jika Anda menolaknya, iklan tetap tampil, tetapi tidak dipersonalisasi.