【发布时间】:2013-04-07 04:23:45
【问题描述】:
有没有我可以在不自己实现任何算法的情况下将随机字符串散列成 8 位数字?
【问题讨论】:
-
hash("你的字符串") % 100000000
-
8 位数似乎很小,如果您有大量记录,可能会导致哈希冲突。 stackoverflow.com/questions/1303021/…
-
使用 hashlib,因为 hash 还有其他用途!
-
任何有限的数字都会导致足够多的散列项发生冲突,这就是为什么您不应该将它们视为唯一键 - 它往往会变成生日问题。
-
我选择了“CityHash”将字符串散列为 19 位长整数(64 位整数),希望这会导致比 Raymond 下面的建议更少的潜在冲突。 en.wikipedia.org/wiki/List_of_hash_functions
标签: python arrays algorithm random hash