Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Algorithm

Fowler-Noll-Vo hash function

Searching Algorithm

Fowler-Noll-Vo, or FNV, is a non-cryptographic hash function created by Glenn Fowler, Landon Curt Noll and Kiem-Phong Vo. The idea began as reviewer comments that Fowler and Vo sent to the IEEE POSIX P1003.2 committee in 1991, and Noll improved on it in a later ballot round. The current versions are FNV-1 and FNV-1a, in 32, 64, 128, 256, 512 and 1024-bit sizes. Its main advantage is that it is very simple to implement. Hashing starts from a fixed offset basis, and for each input byte the FNV-1 version multiplies by the FNV prime and then combines the byte with exclusive or, while FNV-1a reverses those two steps. The algorithm and its reference source code were released into the public domain. FNV is not suitable for security. Python once used a modified FNV as its default string hash but replaced it with SipHash in version 3.4 to resist hash flooding denial-of-service attacks.

Connections

Credited To

Glenn Fowler, Pioneers
Source Fowler-Noll-Vo hash function (source article)
Source Fowler-Noll-Vo hash function (source article)
Source Fowler-Noll-Vo hash function (source article)

In Field

Source Fowler-Noll-Vo hash function (source article)

Invented

Glenn Fowler, Pioneers
Source Fowler-Noll-Vo hash function (source article)
Source Fowler-Noll-Vo hash function (source article)
Source Fowler-Noll-Vo hash function (source article)
Sources
Fowler-Noll-Vo hash function (source article)
  • In Group: Hashing and Membership Filter Algorithms, Lead
    is a non-cryptographic hash function created by Glenn Fowler, Landon Curt Noll, and Kiem-Phong Vo
  • In Field: Algorithms and Complexity Theory, Lead
    is a non-cryptographic hash function created by Glenn Fowler, Landon Curt Noll, and Kiem-Phong Vo
  • Credited To: Glenn Fowler, Lead
    created by Glenn Fowler, Landon Curt Noll, and Kiem-Phong Vo
  • Invented: Glenn Fowler, Lead
    created by Glenn Fowler, Landon Curt Noll, and Kiem-Phong Vo
  • Credited To: Landon Curt Noll, Lead
    created by Glenn Fowler, Landon Curt Noll, and Kiem-Phong Vo
  • Invented: Landon Curt Noll, Lead
    created by Glenn Fowler, Landon Curt Noll, and Kiem-Phong Vo
  • Credited To: Kiem-Phong Vo, Lead
    created by Glenn Fowler, Landon Curt Noll, and Kiem-Phong Vo
  • Invented: Kiem-Phong Vo, Lead
    created by Glenn Fowler, Landon Curt Noll, and Kiem-Phong Vo
View the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.