NAME
Crypt::Sodium::XS::shorthash - Short-input hashing
SYNOPSIS
use Crypt::Sodium::XS::shorthash ":default";
my $key = shorthash_keygen;
my $msg = "short input";
my $hash = shorthash($msg, $key);
DESCRIPTION
Crypt::Sodium::XS::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
FUNCTIONS
Nothing is exported by default. A :default
tag imports the functions and constants as documented below. A separate import tag is provided for each of the primitives listed in "PRIMITIVES". For example, :siphash24
imports shorthash_siphash24
. You should use at least one import tag.
shorthash_keygen
my $key = shorthash_keygen();
shorthash
my $hash = shorthash($message, $key);
CONSTANTS
shorthash_PRIMITIVE
my $default_primitive = shorthash_PRIMITIVE();
shorthash_BYTES
my $hash_length = shorthash_BYTES();
shorthash_KEYBYTES
my $key_length = shorthash_KEYBYTES();
PRIMITIVES
All functions have shorthash_<primitive>
-prefixed counterparts (e.g., shorthash_siphashx24_keygen).
siphash24
siphashx24
SEE ALSO
- Crypt::Sodium::XS
- Crypt::Sodium::XS::OO::shorthash
- https://doc.libsodium.org/hashing/short-input_hashing
FEEDBACK
For reporting bugs, giving feedback, submitting patches, etc. please use the following:
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.