gpt4 book ai didi

java - 好的哈希函数? (32位太小,64位太大)

转载 作者:行者123 更新时间:2023-11-30 05:57:30 25 4
gpt4 key购买 nike

我需要生成一个哈希值,用于 Java 中数十亿条记录的唯一性。问题是,我只有 16 个数字可以玩。在研究这个问题时,我发现了 32 位哈希算法,它返回 Java 整数。但这太小了,因为它的范围只有+/- 20亿,而且还有更多的记录。我无法使用 64 位哈希,因为这会给我返回太大的数值(+/4 quintillion,或 19 位数字)。问题是,我正在处理一个遗留系统,它迫使我使用 16 位数字的静态 key 长度。

建议?我知道没有哈希函数可以保证唯一性,但我需要一个好的哈希函数来满足这些限制。

谢谢

最佳答案

如果您生成的哈希太大,您可以使用 key 空间最大值对其进行修改以使其适合。

myhash = hash64bitvalue % 10^16

关于java - 好的哈希函数? (32位太小,64位太大),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5566273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com