C++中varchar(字符串)的哈希函数

Hash function for varchar ( string) in C++

本文关键字:哈希 函数 字符串 varchar C++      更新时间:2023-10-16

我有一个varchar(512)类型的键,我想只使用该字符串的前2个或前3个字符对其进行哈希。请告诉我在C++中使用哪个哈希函数。我只想获得数字中的哈希值。数字的范围可以是长类型,即int(64)。

为什么不把字符放在这样的无符号整数中:

unsigned int hash = ((unsigned int) field[0]) |
                    ((unsigned int) field[1] << 8) |
                    ((unsigned int) field[2] << 16);

它快速、简单,并且您可以获得前三个字母的所有唯一组合的唯一值。

使用Boost CRC哈希函数。更多信息请点击此处:http://www.boost.org/doc/libs/1_37_0/libs/crc/index.html