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 подходят идеально.