UUID v4
Что такое UUID v4?
UUID (Universally Unique Identifier) v4 — это 128-битный идентификатор, генерируемый с использованием случайных значений. Он определён в RFC 4122. UUID v4 выглядит так:
550e8400-e29b-41d4-a716-446655440000
Из 128 бит 4 бита указывают версию (4) и 2–3 бита указывают вариант. Это оставляет 122 бита случайности, что даёт 2122 возможных UUID — около 5,3 × 1036.
Где применяются UUID
UUID широко используются как идентификаторы в программном обеспечении:
- Первичные ключи баз данных
- ID трассировки запросов
- Имена файлов и идентификаторы ресурсов
- Идентификаторы узлов в распределённых системах
- Токены сессий и корреляционные ID
Почему UUID не секрет
Хотя значения UUID v4 случайны и уникальны, они не подходят в качестве секретов по нескольким причинам:
- UUID часто видны в URL, логах и базах данных
- 122 бит энтропии достаточно для уникальности, но может быть мало для токенов безопасности
- UUID имеют узнаваемый формат, который легко идентифицировать
- Некоторые реализации UUID могут использовать более слабые источники случайности
Для секретов используйте генератор hex-строк или base64 с минимум 256 битами (32 байта) энтропии. Для идентификаторов UUID подходят идеально.