CoCreateGuid
ole32.dll ( Guid.NewGuid()
.NET で使用) は、疑似乱数ジェネレーターのエントロピーを取得するために何を使用しますか?
推測ではrand
、またはを使用していると思われますが、より高いエントロピーを得るためにrand_s
使用する可能性があります。CryptGenRandom
私が主に疑問に思っていることは、同じ物理マシン上で実行されている仮想マシンがこのエントロピーを共有していることですか?
RFC4122 は、GUID が真にランダムである必要があるとは述べていないことを知っています (一意のみ)。このエントロピー実装には、将来的に GUID を決定するために簡単に取得して使用できる要素はありますか?
同じ物理マシンでホストされている複数の仮想マシンでアプリケーションを実行すると、GUID の競合が発生しやすくなるかどうかに最も関心があります。
ほとんどの場合、v1 ではなく v4 の GUID を扱っていると想定できます (生成の一部として MAC アドレスが含まれています)。