NAME
Digest::HighwayHash - XS fast strong keyed hash function
SYNOPSIS
use Digest::HighwayHash;
say highway_hash64 [1, 2, 3, 4], 'hello';
# 11956820856122239241
say join ' ', @{highway_hash128([1, 2, 3, 4], 'hello')};
# 3048112761216189476 13900443277579286659
say join ' ', @{highway_hash256([1, 2, 3, 4], 'hello')};
# 8099666330974151427 17027479935588128037 4015249936799013189 10027181291351549853
DESCRIPTION
HighwayHash is a fast and strong keyed hash function, documented at https://github.com/google/highwayhash.
Three functions are exported by this module, all by default:
- highway_hash64 \@key, $input
-
Compute the 64-bit HighwayHash of $input, using \@key as a key. The key must be a 4-element arrayref, with each element either a number or (on Perls without 64-bit numbers) a Math::Int64 object. The result is a single number or (on Perls without 64-bit numbers) a Math::Int64 object.
- highway_hash128 \@key, $input
-
Compute the 128-bit HighwayHash of $input, using \@key as a key. The key must be a 4-element arrayref, with each element either a number or (on Perls without 64-bit numbers) a Math::Int64 object. The result is an array of exactly two numbers or (on Perls without 64-bit numbers) Math::Int64 objects.
- highway_hash256 \@key, $input
-
Compute the 256-bit HighwayHash of $input, using \@key as a key. The key must be a 4-element arrayref, with each element either a number or (on Perls without 64-bit numbers) a Math::Int64 object. The result is an array of exactly four numbers or (on Perls without 64-bit numbers) Math::Int64 objects.
SEE ALSO
https://github.com/google/highwayhash
AUTHOR
Marius Gavrilescu, <marius@ieval.ro>
COPYRIGHT AND LICENSE
Copyright (C) 2018 by Marius Gavrilescu
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.24.1 or, at your option, any later version of Perl 5 you may have available.