Windows と .NET 用の GUID を生成する
GUID(グローバル一意識別子)は、Microsoft が UUID 規格を指して使う名称です。.NET や Windows の GUID とこのジェネレーターの UUID は、同じ 8-4-4-4-12 の16進数構造を持つ同じ種類の128ビット値です。
計算例
- 正規形式 (RFC 9562、.NET "D")
- 3f2c8e71-9b04-4d5a-a613-e72f90c458b1
- .NET "B" 形式
- {3f2c8e71-9b04-4d5a-a613-e72f90c458b1}
- Windows レジストリ / COM
- {3F2C8E71-9B04-4D5A-A613-E72F90C458B1}
仕組み
- .NET の Guid.NewGuid() と Windows の CoCreateGuid() はランダムなバージョン4の値を生成するため、このページの UUID v4 は GUID が必要な場所でそのまま使えます。
- 16進数の数字は大文字と小文字を区別しません。小文字、大文字、波かっこ付きの表記は同じ値の書き方の違いにすぎません。このジェネレーターは正規の小文字で出力し、Guid.Parse は波かっこの有無にかかわらず受け付けます。
- Windows NT 4 以前は UUID v1 に相当する時刻ベースの GUID を作成していました。ここでの v1 オプションは、ネットワークカードのアドレスの代わりにランダムなノード ID を使って同じ構造を生成します。
一度に1〜100個のUUIDを生成
UUIDについて
UUID v1: タイムスタンプとUUIDを生成するコンピューターのMACアドレスを含む時刻ベースのUUID。UUIDがいつ作成されたかを知る必要がある場合に便利です。
UUID v4: ランダムに生成されたUUID。これは最も一般的に使用されるバージョンで、情報漏洩を最小限に抑えながら優れた一意性を提供します。
UUID v5: SHA-1ハッシュを使用した名前ベースのUUID。同じ名前空間と名前を指定すると、常に同じUUIDが得られます。決定論的なUUID生成に便利です。