NAME
Crypt::Sodium::XS::OO::shorthash - Short-input hashing
SYNOPSIS
use Crypt::Sodium::XS;
my $shorthash = Crypt::Sodium::XS->shorthash;
my $key = $shorthash->keygen;
my $msg = "short input";
my $hash = $shorthash->shorthash($msg, $key);
DESCRIPTION
Crypt::Sodium::XS::OO::shorthash outputs short but unpredictable (without knowing the secret key) values suitable for picking a list in a hash table for a given key. This function is optimized for short inputs.
The output of this function is only 64 bits. Therefore, it should not be considered collision-resistant.
Use cases:
Hash tables
Probabilistic data structures such as Bloom filters
Integrity checking in interactive protocols
CONSTRUCTOR
new
my $shorthash = Crypt::Sodium::XS::OO::shorthash->new;
my $shorthash
= Crypt::Sodium::XS::OO::shorthash->new(primitive => 'siphash24');
my $shorthash = Crypt::Sodium::XS->shorthash;
Returns a new secretstream object for the given primitive. If not given, the default primitive is default
.
METHODS
PRIMITIVE
my $default_primitive = $shorthash->PRIMITIVE;
BYTES
my $hash_length = $shorthash->BYTES;
KEYBYTES
my $key_length = $shorthash->KEYBYTES;
primitives
my @primitives = $pwhash->primitives;
Returns a list of all supported primitive names (including 'default').
keygen
my $key = $shorthash->keygen;
shorthash
my $hash = $shorthash->shorthash($message, $key);
SEE ALSO
- Crypt::Sodium::XS
- Crypt::Sodium::XS::shorthash
- https://doc.libsodium.org/hashing/short-input_hashing
FEEDBACK
For reporting bugs, giving feedback, submitting patches, etc. please use the following:
RT queue at https://rt.cpan.org/Dist/Display.html?Name=Crypt-Sodium-XS
IRC channel
#sodium
onirc.perl.org
.Email the author directly.
AUTHOR
Brad Barden <perlmodules@5c30.org>
COPYRIGHT & LICENSE
Copyright (c) 2022 Brad Barden. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.