---
name: "Digest::JHash"
section: "3pm"
platform: "linux"
package: "libdigest-jhash-perl"
version: "0.10-2+b4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Digest::JHash"
---

# Digest::JHash(3pm)

Perl extension for 32 bit Jenkins Hashing Algorithm

## 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.
