我正在使用 Murmurhash3 为文本条目创建唯一的哈希值。创建文本条目时,我使用这个 php 实现,它返回一个 32 位散列整数,以获取散列值。哈希存储在 BINARY(16) 数据库列中。我还需要更新我们现有的数据库,所以我使用这个 MySql 实现来更新数据库。为了匹配 php 创建的哈希,我将其转换为基础并将其小写。
UPDATE column SET hash=LOWER(CONV(murmur_hash_v3(CONCAT(column1, column2), 0), 10, 32));
它大约 80% 的时间与 php 版本匹配,这显然不会削减它。例如,散列字符串 'engtest'15d15m
在 php 和3uqiuqa
MySql 中创建。但是,字符串 'engtest sentence' 在两者中创建了相同的哈希值。我可能做错了什么?