Що таке UUID v3?
UUID версія 3 — це ідентифікатор на основі простору імен (128 біт, рядок з 36 символів) з RFC 4122, який використовує хешування MD5. Він складається з:
- UUID простору імен: Попередньо визначений або користувацький простір імен UUID
- Ім'я: Рядок, наданий користувачем, який хешується
- MD5 хеш: Застосовується до комбінації простору імен + імені
Приклад формату: 9125a8dc-52ee-365b-a5aa-81b0b3681cf6
Як працює UUID v3
- Виберіть UUID простору імен (попередньо визначений або користувацький)
- Об'єднайте байти UUID простору імен з байтами рядка імені
- Обчисліть MD5 хеш об'єднаного значення
- Встановіть біти версії на 0011 (версія 3)
- Встановіть біти варіанту на 10 (стандарт RFC 4122)
- Зберіть у 32 шістнадцяткові цифри з дефісами: формат 8-4-4-4-12
Переваги та міркування
Переваги | Міркування |
---|---|
|
|
Структура UUID v3
Біти | Зміст |
---|---|
0-47 | Перші 48 біт MD5 хешу |
48-51 | Версія (0011 для v3) |
52-63 | Наступні 12 біт MD5 хешу |
64-65 | Варіант (10 для RFC4122) |
66-127 | Залишкові 62 біти MD5 хешу |
Попередньо визначені простори імен
Назва | UUID | Призначення |
---|---|---|
DNS | 6ba7b810-9dad-11d1-80b4-00c04fd430c8 | Імена доменів |
URL | 6ba7b811-9dad-11d1-80b4-00c04fd430c8 | URLs |
OID | 6ba7b812-9dad-11d1-80b4-00c04fd430c8 | ISO OIDs |
X.500 DN | 6ba7b814-9dad-11d1-80b4-00c04fd430c8 | X.500 Distinguished Names |
UUID v3 проти інших версій
Версія | На основі | Використання | Конфіденційність |
---|---|---|---|
UUID v1 | Час + MAC | Часові ID | ⚠️ Розкриває MAC |
UUID v3 | Простір імен + MD5 | Детерміновані ID | ✅ Приватний |
UUID v4 | Випадковий | Безпечні випадкові ID | ✅ Приватний |
UUID v5 | Простір імен + SHA-1 | Детерміновані ID | ✅ Приватний |
UUID v6 | Час (перемішаний) | Сортовані ID | ⚠️ Розкриває MAC |
UUID v7 | Час + випадковий | Сортовані ID | ✅ Приватний |
Загальні випадки використання
- Ідентифікатори на основі URL: Створення UUID з URL
- ID, специфічні для домену: Перетворення DNS імен на UUID
- Детерміновані ID файлів: Адресація вмісту
- ID користувачів: З електронної пошти або імені користувача
- Записи конфігурації: Для послідовних ключів
- Посилання на документи: Системи управління вмістом
Часто задавані питання
Чи є UUID v3 криптографічно безпечним?
Не зовсім. UUID v3 використовує MD5, який має відомі криптографічні слабкості. Для більшої безпеки розгляньте UUID v5 (SHA-1) або UUID v4 (випадковий).
Чи завжди однакові вхідні дані будуть давати однаковий UUID v3?
Так. UUID v3 є детермінованим - однаковий простір імен та ім'я завжди будуть давати однаковий UUID, що робить його корисним для відтворюваних ID.
У чому різниця між UUID v3 та v5?
Вони працюють ідентично, за винятком того, що v3 використовує MD5, а v5 використовує SHA-1. UUID v5 зазвичай віддається перевага, оскільки SHA-1 є криптографічно сильнішим за MD5.
Чи можу я створити свої власні простори імен?
Так. Хоча RFC 4122 визначає стандартні простори імен (DNS, URL, OID, X.500), ви можете створити користувацькі простори імен, використовуючи будь-який дійсний UUID.
Чи підходить UUID v3 для токенів безпеки?
Ні. Через слабкості MD5 та детерміновану природу UUID v3 не рекомендується використовувати для токенів безпеки або будь-чого, що вимагає непередбачуваності.