Генерируйте идентификаторы UUID v5 из UUID пространства имен и имени, не отправляя ни одно из этих значений на сервер. UUID v5 полезен, когда нужен стабильный идентификатор, который можно позже воссоздать из тех же входных данных, например ID для доменного имени, URL, пути к объекту, имени учетной записи или записи фикстуры.
Как работает UUID v5
UUID v5 объединяет UUID пространства имен со строкой имени, хеширует эти байты с помощью SHA-1, а затем применяет биты версии и варианта RFC 4122. Поскольку входные данные детерминированы, example.com внутри пространства имен DNS всегда создает один и тот же UUID: cfbff0d1-9375-5685-968c-48ce8b15ae17.
Выбор пространства имен
Используйте ns:DNS для доменных имен, ns:URL для URL, ns:OID для идентификаторов объектов и ns:X.500 DN для отличительных имен X.500. Вы также можете вставить собственное пространство имен UUID, когда вашему приложению нужны идентификаторы, ограниченные продуктом, клиентом, набором данных или миграцией.
Когда использовать
Выбирайте UUID v5, когда воспроизводимость важнее случайности. Он хорошо подходит для детерминированного импорта, тестовых фикстур, записей в пространствах имен и систем, где один и тот же логический элемент должен получать один и тот же ID при каждом запуске. Для секретных токенов или непредсказуемых публичных ID используйте вместо этого генератор случайных значений.