The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Digest::BLAKE2 - Perl XS interface to the BLAKE2 algorithms

SYNOPSIS

    use Digest::BLAKE2 qw(blake2b blake2b_hex blake2b_base64 blake2b_base64url blake2b_ascii85);

    # blake2b
    print blake2b('Japan Break Industries');
    print blake2b_hex('Japan Break Industries');
    print blake2b_base64('Japan Break Industries');
    print blake2b_base64url('Japan Break Industries');
    print blake2b_ascii85('Japan Break Industries');

    # blake2s
    print Digest::BLAKE2::blake2s('Japan Break Industries');
    print Digest::BLAKE2::blake2s_hex('Japan Break Industries');
    print Digest::BLAKE2::blake2s_base64('Japan Break Industries');
    print Digest::BLAKE2::blake2s_base64url('Japan Break Industries');
    print Digest::BLAKE2::blake2s_ascii85('Japan Break Industries');

    # object interface provided by Digest::base
    my $b = Digest::BLAKE2->new('blake2s');
    $b->add('Japan Break Industries');
    print $b->digest;
    print $b->b64digest;

DESCRIPTION

The Digest::BLAKE2 module provides an interface to the BLAKE2 message digest algorithm.

The cryptographic hash function BLAKE2 is an improved version of the SHA-3 finalist BLAKE. Like BLAKE or SHA-3, BLAKE2 offers the highest security, yet is fast as MD5 on 64-bit platforms and requires at least 33% less RAM than SHA-2 or SHA-3 on low-end systems.

BLAKE2 comes in two flavors. BLAKE2b is optimized for 64-bit platforms—including NEON-enabled ARMs—and produces digests of any size between 1 and 64 bytes. BLAKE2s is optimized for 8- to 32-bit platforms and produces digests of any size between 1 and 32 bytes.

This interface follows the conventions set forth by the Digest module.

FUNCTIONS

None of these functions are exported by default.

blake2b($data, ...)

blake2s($data, ...)

Logically joins the arguments into a single string, and returns its BLAKE2 digest encoded as a binary string.

blake2b_hex($data, ...)

blake2s_hex($data, ...)

Logically joins the arguments into a single string, and returns its BLAKE2 digest encoded as a hexadecimal string.

blake2b_base64($data, ...)

blake2s_base64($data, ...)

Logically joins the arguments into a single string, and returns its BLAKE2 digest encoded as a Base64 string, without any trailing padding.

blake2b_base64url($data, ...)

blake2s_base64url($data, ...)

Logically joins the arguments into a single string, and returns its BLAKE2 digest encoded as a urlsafe Base64 string, without any trailing padding.

blake2b_ascii85($data, ...)

blake2s_ascii85($data, ...)

Logically joins the arguments into a single string, and returns its BLAKE2 digest encoded as a Ascii85 string, without any trailing padding.

SEE ALSO

Digest::BLAKE

Digest::BLAKE2b

Digest::BLAKE2s

AUTHOR

Tasuku SUENAGA a.k.a. gunyarakun <tasuku-s-cpan ATAT titech.ac>

LICENSE

Copyright (C) Tasuku SUENAGA a.k.a. gunyarakun

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 93:

Non-ASCII character seen before =encoding in 'platforms—including'. Assuming UTF-8