gpt4 book ai didi

algorithm - 从字母数字字符串生成唯一 ID

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:27:13 24 4
gpt4 key购买 nike

我需要从字母数字字符串生成一个唯一 ID(仅限 int)。

例如我有安全 ID = 'ABC123DEF'我应该能够生成“安全 ID”的唯一 ID(仅限 int),以便唯一 ID 始终保持不变。

例如证券代码:ABC123DEF内部编号:9463456892

这样我就可以将 Int ID 存储在数据库中,并随时从 Int ID 中引用安全 ID。

一些例子:PBG_CD_20120214_.2 | 201202-CMG188963_T | PBG_TD_20120306_.00013 个示例:-PIPE 分隔

最佳答案

只需使用 Java 散列算法即可。不是 100% 唯一,但您可以将其用作基础并添加一些东西以保证在更小的碰撞集上的唯一性:

public static int hash(String s) {
int h = 0;
for (int i = 0; i < s.length(); i++) {
h = 31 * h + s.charAt(i);
}
return h;
}

为了 100% 避免碰撞,您需要一个大于字符间差异的质数。因此,对于 7 位 ASCII,您需要高于 128 的值。因此,请使用 131(128 之后的下一个质数)而不是 31。我没有检查的部分是生成的哈希值是否最终会大于您的长整数的大小。但是你可以从那里拿走它......

关于algorithm - 从字母数字字符串生成唯一 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12571307/

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