Что такое Генератор UUID v3
UUID v3 вычисляется хешированием UUID пространства имён вместе с именем по алгоритму MD5, затем устанавливаются биты версии и варианта. Один и тот же (пространство имён + имя) всегда даёт один и тот же UUID.
Эта страница по умолчанию использует пространство имён DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8) с именем example.com. Этот шаблон можно применять в своём коде с любым пространством имён.
Как использовать
- Укажите, сколько UUID нужно.
- Включите верхний регистр, дефисы и фигурные скобки при необходимости.
- Нажмите Сгенерировать, чтобы вычислить детерминированное значение v3.
Сценарии
- Стабильные ID для известных сущностей (например, один UUID на домен или на логин).
- Дедупликация записей, когда один логический объект всегда должен получать тот же ключ.
- Ссылки между системами, производные от канонического имени.
Сравнение Генератор UUID v3 с другими форматами
| Option | When to use |
|---|---|
UUID v3 | На основе имени (MD5); детерминирован |
UUID v5 | На основе имени (SHA-1); детерминирован, хеш надёжнее |
UUID v4 | Случайный; каждый раз разный |
Code examples
JavaScript
const { v3, v5: ns } = require('uuid');
const id = v3(ns.DNS, 'example.com');
Python
import uuid
id = uuid.uuid3(uuid.NAMESPACE_DNS, 'example.com')
Frequently asked questions
Почему v3 детерминирован?
Это чистая функция от (пространство имён, имя). Одни и те же входы всегда дают один и тот же 128-битный вывод — именно это делает его полезным для стабильных ссылок.
v3 или v5 — что выбрать?
Предпочтите v5: он использует SHA-1 вместо MD5 и рекомендуется современными стандартами. v3 используйте только для обратной совместимости.
Можно ли изменить имя?
Да — в своём коде передавайте любое имя и пространство имён. Свойство детерминированности сохраняется для любой пары.