Генератор UUID (версия 5)

Сгенерируйте UUID версии 5 (на основе имени, SHA-1), детерминированный 128-битный идентификатор, полученный из пространства имён и имени. Одинаковые входные данные всегда дают одинаковый UUID.

Сгенерированный UUID:

 

Связанные инструменты

Подробнее о версии 5 UUID

UUID версии 5 — это UUID на основе имени, который использует хеширование SHA-1 для создания детерминированного идентификатора из UUID пространства имён и строки имени. Вот как строится UUID версии 5:

  1. Выбирается UUID пространства имён. RFC 4122 определяет четыре известных пространства имён: DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8), URL (6ba7b811-9dad-11d1-80b4-00c04fd430c8), OID (6ba7b812-9dad-11d1-80b4-00c04fd430c8) и X.500 (6ba7b814-9dad-11d1-80b4-00c04fd430c8).

  2. Байты UUID пространства имён (16 байт) конкатенируются с байтами строки имени (в кодировке UTF-8).

  3. Объединённые данные хешируются алгоритмом SHA-1, создавая 20-байтный (160-битный) дайджест.

  4. Первые 16 байт хеша используются для формирования UUID. Номер версии 0101 (5 в шестнадцатеричном) устанавливается в старших 4 битах 7-го байта, а вариант 10 устанавливается в старших 2 битах 9-го байта.

Результирующий UUID имеет формат: xxxxxxxx-xxxx-5xxx-yxxx-xxxxxxxxxxxx, где 5 указывает на версию 5, а y представляет вариант. Поскольку UUID v5 детерминирован, одинаковые пространство имён и имя всегда дадут одинаковый UUID, что удобно для генерации согласованных идентификаторов из читаемых имён.