Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!usenet.stanford.edu!not-for-mail From: blp@cs.stanford.edu (Ben Pfaff) Newsgroups: comp.programming,comp.unix.programmer Subject: Re: hash function over IP address Date: Wed, 04 Apr 2012 15:35:47 -0700 Lines: 26 Message-ID: <87d37nyvjw.fsf@blp.benpfaff.org> References: <87hawzyy3z.fsf@blp.benpfaff.org> <87398jw4ep.fsf@sapphire.mobileactivedefense.com> Reply-To: blp@cs.stanford.edu Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: usenet.stanford.edu 1333578889 32321 127.0.0.1 (4 Apr 2012 22:34:49 GMT) X-Complaints-To: action@cs.stanford.edu User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) Cancel-Lock: sha1:ZiZd67UV0JmUS8Ki8nwCJRNiTGo= Xref: csiph.com comp.programming:1412 comp.unix.programmer:2355 Rainer Weikusat writes: > Ben Pfaff writes: >> "Mark" writes: >> >>> I'm trying to find a way create a hash value over multiple IP addresses (I >>> keep a list of IP addresses and its number is variable. The simplest method >>> I've found so far is (obviously not the most effective and collision free): >> >> Why not use one of many available high-quality hash functions? >> Three that come to mind without even going to a search engine: >> Jenkins lookup3, murmurhash, FNV. > > The simple answer is these hash functions are designed to be used for > large, variable length string keys NOT for small, fixed-size > quantities which can be compared with a single machine instruction. > > http://burtleburtle.net/bob/hash/integer.html > http://www.cris.com/~Ttwang/tech/inthash.htm He has a list of multiple IP addresses. A hash function for variable length keys may well be appropriate. -- Peter Seebach on managing engineers: "It's like herding cats, only most of the engineers are already sick of laser pointers."