Перейти к основному содержимому

Создание GUID для Windows и .NET

GUID (глобально уникальный идентификатор) — название, которое Microsoft использует для стандарта UUID. GUID из .NET или Windows и UUID из этого генератора — один и тот же тип 128-битного значения с одинаковой шестнадцатеричной структурой 8-4-4-4-12.

Разобранный пример

Канонический (RFC 9562, .NET "D")
3f2c8e71-9b04-4d5a-a613-e72f90c458b1
Формат .NET "B"
{3f2c8e71-9b04-4d5a-a613-e72f90c458b1}
Реестр Windows / COM
{3F2C8E71-9B04-4D5A-A613-E72F90C458B1}

Как это работает

  • Guid.NewGuid() в .NET и CoCreateGuid() в Windows создают случайные значения версии 4, поэтому UUID v4 с этой страницы подходит везде, где ожидается GUID.
  • Шестнадцатеричные цифры не зависят от регистра: строчные, прописные и записанные в фигурных скобках значения — это разные записи одного и того же числа. Генератор выдаёт канонические строчные буквы, которые Guid.Parse принимает со скобками и без них.
  • Windows NT 4 и более ранние версии создавали GUID на основе времени, эквивалентные UUID v1. Вариант v1 здесь создаёт ту же структуру со случайным идентификатором узла вместо адреса сетевой карты.
Версия UUID

Генерируйте от 1 до 100 UUID одновременно

О UUID

UUID v1: UUID на основе времени, которые включают временную метку и MAC-адрес компьютера, генерирующего UUID. Полезно, когда вам нужно знать, когда был создан UUID.

UUID v4: Случайно сгенерированные UUID. Это наиболее часто используемая версия, которая обеспечивает хорошую уникальность при минимальной утечке информации.

UUID v5: UUID на основе имени с использованием хеширования SHA-1. При одинаковом пространстве имен и имени вы всегда получите один и тот же UUID. Полезно для детерминированной генерации UUID.

Другие руководства по UUID