.. index:: single: hmac
.. _hmac/0:

.. rst-class:: right

**object**

``hmac``
========

HMAC (Keyed-Hash Message Authentication Code) implementation as specified in RFC 2104.

| **Availability:** 
|    ``logtalk_load(hmac(loader))``

| **Author:** Paulo Moura
| **Version:** 1:0:0
| **Date:** 2026-04-16

| **Compilation flags:**
|    ``static, context_switching_calls``


| **Implements:**
|    ``public`` :ref:`hmac_protocol <hmac_protocol/0>`
| **Uses:**
|    :ref:`hash_common_32 <hash_common_32/0>`
|    :ref:`list <list/0>`

| **Remarks:**
|    (none)

| **Inherited public predicates:**
|     :ref:`hmac_protocol/0::digest/4`  :ref:`hmac_protocol/0::digest/5`  :ref:`hmac_protocol/0::hex_digest/4`  :ref:`hmac_protocol/0::hex_digest/5`  

.. contents::
   :local:
   :backlinks: top

Public predicates
-----------------

(no local declarations; see entity ancestors if any)

Protected predicates
--------------------

(no local declarations; see entity ancestors if any)

Private predicates
------------------

(no local declarations; see entity ancestors if any)

Operators
---------

(none)

.. seealso::

   :ref:`md5 <md5/0>`, :ref:`sha1 <sha1/0>`, :ref:`sha256 <sha256/0>`, :ref:`sha3_224 <sha3_224/0>`, :ref:`sha3_256 <sha3_256/0>`, :ref:`sha3_384 <sha3_384/0>`, :ref:`sha3_512 <sha3_512/0>`

