Как создать случайную строку UUID в Python

В этой статье вы узнаете, как сгенерировать случайную строку UUID (универсальный уникальный идентификатор) с помощью Python.

Что такое UUID?

UUID — это 128-битное число, которое можно использовать для уникальной идентификации информации в компьютерных системах. Термин «универсально уникальный идентификатор» предполагает, что этот идентификатор уникален, что почти верно, учитывая огромное количество возможных UUID.

Как разработчику, вам важно понимать, зачем вам использовать UUID.

Некоторые распространенные применения UUID:

  • Веб-разработка: идентификаторы сеансов, генерация токенов.
  • Базы данных: Уникальные ключи в базах данных.
  • Распределенные системы: уникальные идентификаторы на разных машинах.

Генерация случайного UUID в Python

Для генерации случайного UUID в Python вы можете использовать модуль uuid, который может генерировать несколько типов UUID. Наиболее распространенным типом является UUID v4, который вы можете генерировать с помощью функции uuid4 модуля uuid.

>>> import uuid
>>> uuid.uuid4()
UUID('df78ded3-d9f0-419d-a556-78eec59d838b')
>>> type(uuid.uuid4())
<class 'uuid.UUID'>

Как видите, возвращаемый вами объект имеет тип uuid.UUID. Чтобы преобразовать его в строку, можно использовать встроенную функцию str().

>>> str(uuid.uuid4())
'2bc19645-bb49-45e6-bfc7-f39304e75d27'         

Теперь у вас есть строка Python, представляющая UUID.

Если вы хотите подробнее изучить UUID, ниже вы также можете увидеть четыре функции, доступные в uuidмодуле для генерации UUID (включая uuid4, которую вы только что использовали).

Генерация случайных UUID в Python

Давайте посмотрим, как выглядят все типы UUID, на кратких примерах кода:

UUID1: генерируется на основе MAC-адреса хост-компьютера и текущего времени.

>>> uuid1 = uuid.uuid1()
>>> print("UUID1:", uuid1)
UUID1: 4495519a-8bc8-11ee-8285-1e00d11a7245

UUID3: генерируется с использованием идентификатора пространства имен и имени с использованием хеширования MD5.

>>> uuid3 = uuid.uuid3(uuid.NAMESPACE_DNS, 'test.com')
>>> print("UUID3:", uuid3)
UUID3: a9da4e5d-d414-37a6-abb6-3894a0044774

UUID4: Наиболее распространенный, как было показано ранее, генерируется случайным образом.

>>> uuid4 = uuid.uuid4()
>>> print("UUID4:", uuid4)
UUID4: 75870b39-7e23-4483-bba8-be42d8d95d3b

UUID5: Аналогично UUID3, но использует хеширование SHA-1.

>>> uuid5 = uuid.uuid5(uuid.NAMESPACE_DNS, 'test.com')
>>> print("UUID5:", uuid5)
UUID5: 1c39b279-6010-55d9-b677-859bffab8081

Заключение

Генерация случайного UUID в Python может быть очень полезна при написании приложений, которые должны создавать объекты, которые вы хотите уникально идентифицировать без значительного риска дублирования.

В этой статье я познакомил вас с основами использования UUID в программах на Python.