一部のデータをハッシュして、グローバルで一意の ID を生成する必要があります。
一方では、タイムスタンプとネットワーク アドレスの組み合わせを使用できます。これは、すべてのコンピューターが同時に 1 つの ID しか作成できないため、一意です。しかし、このデータは長すぎるため、ハッシュする必要があり、衝突が発生する可能性があります。(補足として、タイムスタンプが十分に正確でない場合は、乱数を投入することもできます。)
一方、乱数を使用してそれをハッシュすることもできます。最初のアプローチとまったく同じハッシュ衝突確率をもたらすべきではありませんか? このアプローチはより高速で、実装がはるかに簡単であるため、興味深いものです。
ランダム データではなく一意のデータを使用する場合、ハッシュ衝突に関して違いはありますか? (ちなみに、私は標準で説明されているように実際の GUID を使用しませんが、私のものは 64 ビット長のみです。しかし、それは質問に影響を与えるべきではありません。)