Dalam ilmu kriptografi,
HMAC (memiliki beberapa kepanjangan, yaitu keyed-hash message authentication code (bahasa Indonesia: kode otentikasi pesan kunci hash) atau hash-based message authentication code (bahasa Indonesia: kode otentikasi pesan berbasis hash)) adalah jenis kode otentikasi pesan (message authentication code) tertentu yang melibatkan fungsi hash kriptografis dan kunci kriptografi rahasia.
HMAC dapat digunakan untuk secara bersamaan memverifikasi integritas sebuah data dan otentikasi sebuah pesan, seperti halnya dengan MAC yang lain. Sebuah fungsi hash kriptografi, seperti SHA-256 atau SHA-3, dapat digunakan dalam perhitungan
HMAC; algoritma MAC yang dihasilkan disebut
HMAC-X, yang mana X adalah fungsi hash yang digunakan (mis.
HMAC-SHA256 atau
HMAC-SHA3). Kekuatan sebuah kriptografi dari
HMAC tergantung pada kekuatan kriptografi dari fungsi hash yang mendasarinya, ukuran output hash-nya, serta ukuran dan kualitas kuncinya.
Contoh
Berikut adalah beberapa
HMAC yang mempunyai nilai kosong:Berikut adalah beberapa
HMAC yang mempunyai value ( tidak kosong ), dengan asumsi pengkodean ASCII atau UTF-8 8-bit:
Pranala luar
RFC2104 Diarsipkan 2016-11-29 di Wayback Machine.
Online
HMAC Calculator for dozens of underlying hashing algorithms Diarsipkan 2017-07-11 di Wayback Machine.
Online
HMAC Generator / Tester Tool Diarsipkan 2023-05-31 di Wayback Machine.
FIPS PUB 198-1, The Keyed-Hash Message Authentication Code (
HMAC) Diarsipkan 2013-02-17 di Wayback Machine.
C
HMAC implementation Diarsipkan 2017-05-02 di Wayback Machine.
Python
HMAC implementation Diarsipkan 2012-10-22 di Wayback Machine.
Java implementation Diarsipkan 2017-06-23 di Wayback Machine.