Hubbry Logo
search
logo

PJW hash function

logo
Community Hub0 Subscribers
Write something...
Be the first to start a discussion here.
Be the first to start a discussion here.
See all
PJW hash function

PJW hash function is a non-cryptographic hash function created by Peter J. Weinberger of AT&T Bell Labs.

A variant of PJW hash had been used to create ElfHash or Elf64 hash that is used in Unix object files with ELF format.

Allen Holub has created a portable version of PJW hash algorithm that had a bug and ended up in several textbooks, as the author of one of these textbooks later admitted.

PJW hash algorithm involves shifting the previous hash and adding the current byte followed by moving the high bits:

Below is the algorithm implementation used in Unix ELF format:

This C code incorrectly assumes that long is a 32-bit data type. When long is wider than 32 bits, as it is on many 64-bit systems, the code contains a bug.

Non-cryptographic hash functions

See all
User Avatar
No comments yet.