order independent hash?

Dave Angel d at davea.name
Fri Dec 2 13:39:44 EST 2011


On 12/01/2011 08:55 AM, Neal Becker wrote:
> Gelonida N wrote:
>
>> On 11/30/2011 01:32 PM, Neal Becker wrote:
>>> I like to hash a list of words (actually, the command line args of my
>>> program) in such a way that different words will create different hash, but
>>> not sensitive
>>> to the order of the words.  Any ideas?
>>>
>> Do youmean hash like digest like md5sum / sha1 ?
>>
>>
>> You should sort the words alphabetically, concatenate them with a space
>> or any character, that will NEVER be part of a word and calulate the hash.
>>
>> If words can exist multiple times, then youhad tu uniqufy them (u using
>> a python dict / set) first.
> Yes that sounds just like what I wanted - thanks!
>

"different words will create different hash, but not sensitive to the order of the words"


Just note that you can only say that "probably create" a different 
hash.  If the hash number is constrained in size (eg. 32 bits), then a 
collision is possible.  (Unless of course you also constrain the 
alphabet and/or length of the words involved)

-- 

DaveA




More information about the Python-list mailing list