我正在使用Python-2.6。我對散列函數知之甚少。將IP地址散列到[0,H)
我想使用CRC哈希函數來將'128.0.0.5'之類的IP地址散列到[0,H)範圍內。目前我正在考慮做
zlib.crc32('128.0.0.5')%H.
這樣好嗎?有幾個問題。你可以嘗試和回答...
它做任何區別。如果我散列'128.0.0.5'或它的二進制'0001110101010 ..''無論有沒有'。'的
zlib.crc32返回一個有符號的整數。修改(%)否定。積極的H總是給一個pos否?
%-ing by H是否會影響散列函數的良好性能? (我的意思是,我可以做的最好的可用空間,可用的xlib.crc32)
謝謝!
H有多大,你想如何處理碰撞? –
IP地址已經是一個無符號的32位整數。你試圖用這個來達到什麼目的? – Keith
我哈希因爲我不想使用32位來存儲IP地址,而只是記錄(H,2),而且我會對哈希值做更多的事情,我希望它們是隨機。 H將使用遠少於32位,大約8或10. – Lavanya