Google發布FarmHash,一個新的用于字符串的哈希函數系列

jopen 10年前發布 | 12K 次閱讀 FarmHash

  英文原文:Google publishes FarmHash, a new family of hash functions for strings

  Google 剛剛發布了 FarmHash,一個新的用于字符串的哈希函數系列。FarmHash 從 CityHash 繼承了許多技巧和技術,是它的后繼。FarmHash 有多個目標,聲稱從多個方面改進了 CityHash。

  Geoff Pike 是 Google 的軟件工程師,該庫由他和 Jyrki Alakuijala 共同編寫。根據他的報道,雖然 FarmHash 的開發一直受到 Google 數據中心里常見的 CPU 類型影響,但該庫的目標之一是使開發人員可以快速便捷地將其應用在電話、平板電腦以及臺式電腦上。正是因為這個原因,他們已經改進了現有的 32 和 64 位哈希實現。

  Geoff 寫道,與 CityHash 相比,FarmHash 的另一項改進是在多個特定于平臺的實現之上提供了一個接口。這樣,當開發人員只是想要一個用于哈希表的、快速健壯的哈希函數,而不需要在每個平臺上都一樣時,FarmHash 也能滿足要求。

  考慮了上述所有內容,FarmHash 的實現代碼達到了大約 1500 行(不包括測試相關的代碼),相比之下,CityHash 的代碼大約為 600 行。讀者可以在這里找到 CityHash 的全面分析。

  目前,FarmHash 只包含在 32、64 和 128 位平臺上用于字節數組的哈希函數。未來開發計劃包含了對整數、元組和其它數據的支持。

  CityHash 的哈希算法被發現容易受到針對算法漏洞的攻擊,該漏洞允許多個哈希沖突發生(哈希泛濫)。盡管沒有已知的 CityHash 漏洞利用程序,但這類攻擊能夠很快地讓用了這種哈希算法的任何應用程序過載。該漏洞還影響了其它基于 MurmurHash 的主要哈希實現。目前還不清楚 FarmHash 是否能夠免受相同漏洞的影響。

來自: InfoQ
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!