I'm looking for a quick and easy way to use a (universal) family of pairwise independent hash functions in my Java projects.
Ideally, I would have some object UniversalFamily
(representing the Family) which would return me objects with a method hash()
which hashes integers.
Example usage:
// use this object to generate pairwise independent hash functions
UniversalFamily family = new UniversalFamily();
// these objects represent the pairwise independent hash functions
HashF hashF1 = fam.getHashFunction();
HashF hashF2 = fam.getHashFunction();
// ...
/* here the hash functions are being used to hash the integers 1, 2 and
1337, the return values (not stored) are the results of the
corresponding hash functions. */
hashF1.hash(1);
hashF1.hash(2);
hashF2.hash(1337);
// ...
Before I start tinkering around, is there anything like this already available?