Генерация UUID v5 на основе имени и пространства имен с использованием алгоритма хеширования SHA-1.
Примечание: для одинаковых пространств имен и имен всегда будет генерироваться одинаковый UUID
Введение в UUID v5
UUID v5 — это уникальный идентификатор, сгенерированный на основе имени и пространства имен с использованием алгоритма хеширования SHA-1. Для одинаковых комбинаций имени и пространства имен он всегда генерирует одинаковый UUID.
Пространство имен и имя
Для UUID v5 требуются два входа: UUID пространства имен и строковое имя. Обычно используемые предопределенные пространства имен включают DNS, URL, OID и X.500 DN, также можно использовать пользовательский UUID пространства имен.
v5 против v3
UUID v5 и v3 основаны на именах, основное различие заключается в используемом алгоритме хеширования. v5 использует SHA-1, а v3 — MD5. v5 обеспечивает лучшую безопасность и устойчивость к коллизиям и является рекомендуемым выбором.
Применение
UUID v5 подходит для сценариев, требующих детерминированности и повторяемости, а также высокой безопасности. Типичные примеры использования включают генерацию согласованных идентификаторов для постоянных ресурсов, создание ID из доменных имен или любые ситуации, где одинаковый ввод должен всегда производить одинаковый UUID.
Преимущества безопасности
UUID v5 использует алгоритм хеширования SHA-1, который обеспечивает лучшую устойчивость к коллизиям, чем MD5 (используемый в UUID v3). Хотя SHA-1 больше не рекомендуется для хранения паролей, он все еще достаточно безопасен для генерации уникальных идентификаторов.
Предопределенные пространства имен
Спецификация UUID определяет четыре стандартных пространства имен: DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8), URL (6ba7b811-9dad-11d1-80b4-00c04fd430c8), OID (6ba7b812-9dad-11d1-80b4-00c04fd430c8) и X.500 DN (6ba7b814-9dad-11d1-80b4-00c04fd430c8).