从两个UUID生成复合UUID

13
如果我有两个UUID,是否有一种“安全”的方法来生成第三个组合UUID。这是对某种统计学定义的唯一性的要求。因此,我正在寻找下面的函数f。
UUID generatedUUID = f(UUID a, UUID b)

XOR?


如果您使用XOR,f(generatedUUID, a) 将会返回 b。根据您计划如何使用它,您可能最终得到非常不唯一的UUID。难道您不能出于某种原因使用一个好的哈希函数吗? - dtudury
https://dev59.com/1EnSa4cB1Zd3GeqPMDhN - Mauricio Scheffer
1个回答

0

根据您获取两个UUID的位置,UUID V3/V5可能适用,并且任何好的库都应该有生成这些函数。即使它们在逻辑上不完全正确,您仍然可以滥用它们来实现这个目的。您必须解释为什么要首先尝试组合两个UUID,以便我们确定。

无论如何,不要对两个UUID值使用简单的XOR(或其他通用操作),因为那样很可能会破坏版本/变体字段,从而给您一个本身不是有效UUID或更糟糕的结果,与不应该发生碰撞的有效UUID相冲突。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接