Crypt::Mac::BLAKE2s - Message authentication code BLAKE2s MAC (RFC 7693)
Contents
Description
Provides an interface to the BLAKE2s message authentication code (MAC) algorithm.
Export
Nothing is exported by default.
You can export selected functions:
use Crypt::Mac::BLAKE2s qw(blake2s blake2s_hex );
Or all of them at once:
use Crypt::Mac::BLAKE2s ':all';
Functions
blake2s
Logically joins all arguments into a single string, and returns its BLAKE2s message authentication code
encoded as a binary string.
$blake2s_raw = blake2s($size, $key, 'data buffer');
#or
$blake2s_raw = blake2s($size, $key, 'any data', 'more data', 'even more data');
blake2s_hex
Logically joins all arguments into a single string, and returns its BLAKE2s message authentication code
encoded as a hexadecimal string.
$blake2s_hex = blake2s_hex($size, $key, 'data buffer');
#or
$blake2s_hex = blake2s_hex($size, $key, 'any data', 'more data', 'even more data');
blake2s_b64
Logically joins all arguments into a single string, and returns its BLAKE2s message authentication code
encoded as a Base64 string.
$blake2s_b64 = blake2s_b64($size, $key, 'data buffer');
#or
$blake2s_b64 = blake2s_b64($size, $key, 'any data', 'more data', 'even more data');
blake2s_b64u
Logically joins all arguments into a single string, and returns its BLAKE2s message authentication code
encoded as a Base64 URL Safe string (see RFC 4648 section 5).
$blake2s_b64url = blake2s_b64u($size, $key, 'data buffer');
#or
$blake2s_b64url = blake2s_b64u($size, $key, 'any data', 'more data', 'even more data');
Methods
new
$d = Crypt::Mac::BLAKE2s->new($size, $key);
clone
$d->clone();
reset
$d->reset();
add
$d->add('any data');
#or
$d->add('any data', 'more data', 'even more data');
addfile
$d->addfile('filename.dat');
#or
$d->addfile(*FILEHANDLE);
mac
$result_raw = $d->mac();
hexmac
$result_hex = $d->hexmac();
b64mac
$result_b64 = $d->b64mac();
b64umac
$result_b64url = $d->b64umac();
Name
Crypt::Mac::BLAKE2s - Message authentication code BLAKE2s MAC (RFC 7693)
See Also
• CryptX
• <https://tools.ietf.org/html/rfc7693>
perl v5.40.1 2025-08-10 Crypt::Mac::BLAKE2s(3pm)
Synopsis
### Functional interface:
use Crypt::Mac::BLAKE2s qw( blake2s blake2s_hex );
# calculate MAC from string/buffer
$blake2s_raw = blake2s($size, $key, 'data buffer');
$blake2s_hex = blake2s_hex($size, $key, 'data buffer');
$blake2s_b64 = blake2s_b64($size, $key, 'data buffer');
$blake2s_b64u = blake2s_b64u($size, $key, 'data buffer');
### OO interface:
use Crypt::Mac::BLAKE2s;
$d = Crypt::Mac::BLAKE2s->new($size, $key);
$d->add('any data');
$d->addfile('filename.dat');
$d->addfile(*FILEHANDLE);
$result_raw = $d->mac; # raw bytes
$result_hex = $d->hexmac; # hexadecimal form
$result_b64 = $d->b64mac; # Base64 form
$result_b64u = $d->b64umac; # Base64 URL Safe form
