Random 对于散列,使用唯一数据比使用随机数据更好吗?

Random 对于散列,使用唯一数据比使用随机数据更好吗?,random,hash,guid,probability,hash-collision,Random,Hash,Guid,Probability,Hash Collision,我需要通过散列一些数据来生成全局唯一ID 一方面,我可以使用时间戳和网络地址的组合,这是唯一的,因为每台计算机在同一时间只能创建一个id。但由于数据太长,我需要对其进行散列,因此可能会发生冲突。(作为旁注,如果时间戳不够精确,我们还可以输入一个随机数。) 另一方面,我可以使用一个随机数并将其散列。这不应该带来与第一种方法完全相同的哈希冲突概率吗?这很有趣,因为这种方法会更快,更容易实现 使用唯一数据而不是随机数据时,哈希冲突是否存在差异?(顺便说一句,我不会使用标准中描述的真正的guid,但我的

我需要通过散列一些数据来生成全局唯一ID

一方面,我可以使用时间戳和网络地址的组合,这是唯一的,因为每台计算机在同一时间只能创建一个id。但由于数据太长,我需要对其进行散列,因此可能会发生冲突。(作为旁注,如果时间戳不够精确,我们还可以输入一个随机数。)

另一方面,我可以使用一个随机数并将其散列。这不应该带来与第一种方法完全相同的哈希冲突概率吗?这很有趣,因为这种方法会更快,更容易实现


使用唯一数据而不是随机数据时,哈希冲突是否存在差异?(顺便说一句,我不会使用标准中描述的真正的guid,但我的guid只有64位长。但这不会影响问题。)

为什么要费心对随机数进行散列?散列的目的是将输入统一映射到键空间,但PRNG已经为您提供了结果的统一映射。你所做的只是做更多的工作。

为什么要费心去散列一个随机数呢?散列的目的是将输入统一映射到键空间,但PRNG已经为您提供了结果的统一映射。你所做的只是创造更多的工作。

无论谁投票支持close,请你解释一下你的担忧?那么我想改进我的问题。无论是谁投票支持close,请您解释一下您的担忧?那么我想改进我的问题。你是对的,尽管这更多的是一个评论而不是一个答案。你是对的,尽管这更多的是一个评论而不是一个答案。