BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Google发布FarmHash,一个新的用于字符串的哈希函数系列

| 作者 Sergio De Simone 关注 18 他的粉丝 ,译者 马德奎 关注 0 他的粉丝 发布于 2014年4月10日. 估计阅读时间: 2 分钟 | ArchSummit北京2018 共同探讨机器学习、信息安全、微服务治理的关键点

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是否能够免受相同漏洞的影响。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT