Shlomi Fish > Digest-JHash-0.08 > Digest::JHash

Download:
Digest-JHash-0.08.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.08   Source  

NAME ^

Digest::JHash - Perl extension for 32 bit Jenkins Hashing Algorithm

SYNOPSIS ^

    use Digest::JHash qw(jhash);

    $digest = jhash($data);

    # note that calling jhash() directly like this is the fastest way:

    $digest = Digest::JHash::jhash($data);

DESCRIPTION ^

The Digest::JHash module allows you to use the fast JHash hashing algorithm developed by Bob Jenkins from within Perl programs. The algorithm takes as input a message of arbitrary length and produces as output a 32-bit "message digest" of the input in the form of an unsigned long integer.

Call it a low calorie version of MD5 if you like.

See http://burtleburtle.net/bob/hash/doobs.html for more information.

FUNCTIONS ^

jhash($data)

This function will calculate the JHash digest of the "message" in $data and return a 32 bit integer result (an unsigned long in the C)

EXPORTS ^

None by default but you can have the jhash() function if you ask nicely. See below for reasons not to use Exporter (it is slower than a direct call)

SPEED NOTE ^

If speed is a major issue it is roughly twice as fast to do call the jhash() function like Digest::JHash::jhash('message') than it is to import the jhash() method using Exporter so you can call it as simply jhash('message'). There is a short script that demonstrates the speed of different calling methods (direct, OO and Imported) in examples/oo_vs_func.pl

AUTHORS ^

The JHash implementation was written by Bob Jenkins <bob_jenkins [at] burtleburtle [dot] net>.

This perl extension was written by Andrew Towers <mariofrog [at] bigpond [dot] com>.

A few mods were added by James Freeman <airmedical [at] gmail [dot] com>).

SEE ALSO ^

http://burtleburtle.net/bob/hash/doobs.html

LICENSE ^

This package is free software and is provided "as is" without express or implied warranty. It may be used, redistributed and/or modified under the terms of the Artistic License 2.0. A copy is include in this distribution.

syntax highlighting: