mono において Guid.NewGuid() で Guid がどうやって生成されているのかが気になったので、せっかくソースコードが公開されていることであるし、読んでみた。 また、NewGuid の実装には後述の通り RngCryptoServiceProvider が使われているので、結果として mono における乱数生成機(RNG)の造りも調べることになったという次第。 なお、全部丁寧に解説しようとするとモチベーションが折れるので、気分に応じてのおおざっぱな解説である。 前知識 Guid とは: GUID - Wikipedia UUID とは: UUID - Wikipedia Wikipedia を読めば分かるが、UUID や Guid は、 管理するサーバーなどなしに、一つのマシンの中だけで簡潔に生成できる (現実的な条件下では、ほぼ間違いなく)全世界において一意 という性質が