代码改变世界

hash编码冲突解决方法

2012-01-09 22:18  ubunoon  阅读(350)  评论(0编辑  收藏  举报

最近出了一个核弹级别的bug,影响了大部分的语言,这个bug是大部分语言级别内建的hash表的生成。

 

暴雪使用了另外一种hash方式,即用三个不同的hash函数来对比同一个入口的字符串,

 

三级级联,不同的hash函数,生成同一个hash值的可能性1:18889465931478580854784

 

即不会降低二级hash函数的运算,也减少了冲突,够好够安全。