Tolong jelaskan mengenai HMAC

Dalam ilmu kriptografi, HMAC (memiliki beberapa kepanjangan, yaitu keyed-hash message authentication code () atau hash-based message authentication code ()) 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.