Генератор UUID / GUID

Генерируйте UUID в форматах v1, v4 или v5 — массово, форматированно, с опциональным префиксом/суффиксом.

Справка по версиям


v4 — Случайный

UUID версии 4 генерируются полностью из случайных (или псевдослучайных) байтов. 122 из 128 бит являются случайными; оставшиеся 6 бит кодируют версию (4) и вариант. Поскольку они не содержат структурированной информации, UUID v4 — самый простой выбор: они не требуют общего состояния, сетевых часов или координации пространства имён. Вероятность создания дубликата астрономически мала. Используйте v4 по умолчанию для первичных ключей базы данных, токенов сеансов и любого контекста, где требуется уникальность, но не временной порядок.

Wikipedia — UUID Version 4 (random)

v1 — На основе времени

UUID версии 1 содержат 60-битную временну́ю метку (интервалы по 100 наносекунд с 15 октября 1582 года, даты реформы григорианского календаря), 14-битную последовательность тактов и 48-битный идентификатор узла (исторически MAC-адрес генерирующей машины). Поскольку временна́я метка является наиболее значимым компонентом, UUID v1 сортируются хронологически при лексикографическом сравнении. Недостатком является конфиденциальность: UUID v1 раскрывает MAC-адрес машины и точное время создания.

Wikipedia — UUID Version 1 (time-based)

v5 — Пространство имён + Имя (SHA-1)

UUID версии 5 являются детерминированными: при одинаковом UUID пространства имён и одинаковой строке имени результат всегда одинаков. Алгоритм объединяет байты пространства имён и имя в кодировке UTF-8, хэширует их с помощью SHA-1, затем сворачивает 160-битный дайджест в 128 бит. Это делает v5 идеальным для генерации стабильных, воспроизводимых идентификаторов. v3 использует MD5; v5 предпочтительнее, поскольку SHA-1 даёт меньше коллизий.

Wikipedia — UUID Version 5 (name-based)