Создание 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 здесь создаёт ту же структуру со случайным идентификатором узла вместо адреса сетевой карты.
Генерируйте от 1 до 100 UUID одновременно
О UUID
UUID v1: UUID на основе времени, которые включают временную метку и MAC-адрес компьютера, генерирующего UUID. Полезно, когда вам нужно знать, когда был создан UUID.
UUID v4: Случайно сгенерированные UUID. Это наиболее часто используемая версия, которая обеспечивает хорошую уникальность при минимальной утечке информации.
UUID v5: UUID на основе имени с использованием хеширования SHA-1. При одинаковом пространстве имен и имени вы всегда получите один и тот же UUID. Полезно для детерминированной генерации UUID.