我的对象具有以下属性:
class MyObject
{
int sourceId();
String id();
}
如果我使用
id
作为标识符,则可能会发生冲突,因为可能有记录具有相同的id
但不同的sourceId
因此,我正在研究生成
sourceId
和id
的哈希,并使用该哈希为每个记录生成唯一的ID。我当时只是在想md5ing String.valueOf(sourceId + id)
,但是md5冲突似乎并没有我想要的那么普遍。为此,将推荐使用其他哪种算法,哪些算法会产生快速哈希,并且在哪里不太可能发生冲突?
最佳答案
如果id()
字符串具有固定长度,则可以简单地将sourceId和Id连接起来:
public String getUniqueID ()
{
return sourceID() + id();
}
如果
id()
没有固定长度,则可以用零填充(例如)以获得固定长度,然后像以前一样将其连接到sourceID()
。关于java - 用于生成唯一ID的哈希算法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30367890/