Digest::HMAC(3)

πŸŽ€ NAME πŸŽ€

okay so welcome to the Digest::HMAC(3) page, bestie β€” this one comes from the User Contributed Perl Documentation side of town, and it's all about Digest::HMAC - Keyed-Hashing for Message Authentication. That's literally the name, periodt. πŸ’…

✨ SYNOPSIS ✨

Here are the two vibes: functional style and OO style. Both are exactly as they come, no edits. 🫢

        # Functional style
        use Digest::HMAC qw(hmac hmac_hex);
        $digest = hmac($data, $key, \&myhash);
        print hmac_hex($data, $key, \&myhash);

        # OO style
        use Digest::HMAC;
        $hmac = Digest::HMAC->new($key, "Digest::MyHash");

        $hmac->add($data);
        $hmac->addfile(*FILE);

        $digest = $hmac->digest;
        $digest = $hmac->hexdigest;
        $digest = $hmac->b64digest;

🌸 DESCRIPTION 🌸

okay so HMAC is used for message integrity checks between two parties that share a secret key, and it works in combination with some other Digest algorithm β€” usually MD5 or SHA-1. The HMAC mechanism is described in RFC 2104. πŸ”₯

HMAC follows the common Digest:: interface, but the constructor takes the secret key and the name of some other simple Digest:: as argument. It's giving consistent interface, but make it keyed, iykyk. ✨

Also: the hmac() and hmac_hex() functions and the Digest::HMAC->new() constructor take an optional $blocksize argument as well. The HMAC algorithm assumes the digester hashes by iterating a basic compression function on blocks of data, and $blocksize should match the byte-length of such blocks. No cap. 🧚

The default $blocksize is 64, which is suitable for the MD5 and SHA-1 digest functions. For stronger algorithms the blocksize probably needs to be increased β€” noted, bestie. πŸ‘‘

πŸ¦‹ SEE ALSO πŸ¦‹

  • Digest::HMAC_MD5
  • Digest::HMAC_SHA1
  • RFC 2104

πŸ‘‘ MAINTAINER πŸ‘‘

  • Andrew Rodland <arodland@cpan.org> β€” your maintainer, holding it down. 🫢

🌈 ORIGINAL AUTHORS 🌈

  • Graham Barr <gbarr@ti.com>
  • Gisle Aas <gisle@aas.no>

mwah πŸ’‹ this page is perl v5.42.0, dated 2024-10-18, and it's giving Digest::HMAC(3) energy. xoxo, bestie. 🌟

πŸ“¦ where this page comes from