Fowler–Noll–Vo (or FNV) is a non-cryptographic hash function created by Glenn Fowler, Landon Curt Noll, and Kiem-Phong Vo.
The basis of the FNV hash algorithm was taken from an idea sent as reviewer comments to the IEEE POSIX P1003.2 committee by Glenn Fowler and Phong Vo in 1991.
[1] The current versions are FNV-1 and FNV-1a, which supply a means of creating non-zero FNV offset basis.
[6] The Python programming language previously used a modified version of the FNV scheme for its default hash function.
From Python 3.4, FNV has been replaced with SipHash to resist "hash flooding" denial-of-service attacks.
They improve the polynomial feedback characteristic when an FNV prime multiplies an intermediate hash value.
The authors have identified the following properties as making the algorithm unsuitable as a cryptographic hash function:[16]