我不能使用 boost:hash 因为我必须坚持使用 C 并且不能使用 C++。
但是,我需要散列大量(10K 到 100k)令牌字符串(5 到 40 字节长度),以便在这些字符串中搜索最快。
MD5、SHA1 或任何长散列函数对于一个简单的任务来说似乎太重了,我不是在做密码学。另外还有存储和计算成本。
因此我的问题:
在大多数实际情况下,可以确保防止冲突的最简单的哈希算法可能是什么。
哈希值使用多少位?我正在开发 32 位系统。Perl/Python 中的哈希算法是否也使用 32 位哈希?还是我必须跳到64?
关于在通用脚本语言中实现哈希表:实现是否检查冲突或者我可以完全避免那部分?