Генерация UUID v3 на основе имени и пространства имен с использованием алгоритма хеширования MD5.
Примечание: для одинаковых пространств имен и имен всегда будет генерироваться одинаковый UUID
Введение в UUID v3
UUID v3 — это уникальный идентификатор, генерируемый на основе имени и пространства имен с использованием алгоритма хеширования MD5. Он может генерировать одинаковый UUID для одинаковых комбинаций имени и пространства имен.
Пространство имен и имя
UUID v3 требует два входа: UUID пространства имен и строку имени. Обычно используемые предопределенные пространства имен включают DNS, URL, OID и X.500 DN, также можно использовать пользовательские пространства имен.
v3 против v5
UUID v3 и v5 основаны на именах, основное различие заключается в используемом алгоритме хеширования. v3 использует MD5, а v5 — SHA-1. v5 обеспечивает лучшую безопасность, но v3 может быть более эффективным в некоторых средах.
Применение
UUID v3 подходит для сценариев, требующих детерминированности и повторяемости, таких как генерация постоянных ID из имен пользователей или назначение фиксированных идентификаторов ресурсам. Любая ситуация, где одинаковый ввод должен всегда производить одинаковый UUID, подходит для v3.
Безопасность
Хотя UUID v3 использует хеш MD5, его использование в качестве идентификатора обычно безопасно. Однако, если безопасность является важным фактором, рекомендуется использовать UUID v5 на основе SHA-1, так как MD5 криптографически небезопасен.
Предопределенные пространства имен
Спецификация 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).