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_MD5Digest::HMAC_SHA1RFC 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
- alpine 3.23: perl-digest-hmac-doc 1.05-r0 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- opensuse-leap 16.0: perl-Digest-HMAC 1.50.0-160000.2.2 Β· Artistic-1.0 OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms