This class provides the functionality of a "Message Authentication Code" (MAC) algorithm.
A MAC provides a way to check the integrity of information transmitted over or
stored in an unreliable medium, based on a secret key.
Typically, message authentication codes are used between two parties
that share a secret key in order to validate information transmitted between these parties.
A MAC mechanism that is based on cryptographic hash functions is referred to as HMAC.
HMAC can be used with any cryptographic hash function, e.g., MD5 or SHA-1,
in combination with a secret shared key. HMAC is specified in RFC 2104.
this class handles sensitive security-related data.
Pay special attention to PCI DSS v3. requirements 2, 4, and 12.