Python

Использование UUID в Python

Использование UUID в Python
У Python есть библиотека с именем UUID (универсальный уникальный идентификатор) для генерации случайного объекта из 128 бит. Эта библиотека генерирует уникальные идентификаторы на основе системного времени и сетевого адреса компьютера. Объект UUID неизменяем и содержит некоторые функции для создания различных уникальных идентификаторов.  UUID используется для многих целей, таких как создание уникального случайного идентификатора, MAC-адрес на основе идентификатора, криптографические хеш-значения или случайные документы. Из этого туториала Вы узнаете, как создавать различные типы библиотек UUID с помощью различных функций UUID.

Пример 1: Создание UUID на основе системного времени и MAC-адреса

В следующем примере показано использование uuid1 () функция uuid модуль для генерации различных значений UUID, а также для чтения и печати различных значений свойств объекта UUID. А UID объект определяется путем вызова uuid1 () метод для генерации уникального идентификатора на основе системного времени и MAC-адреса. Затем печатаются нормально сгенерированный идентификатор, соответствующее значение байтов, целочисленное значение и шестнадцатеричное значение идентификатора.  Версия, поля, узел и свойства времени идентификатора затем печатаются в следующей части скрипта.

#!/ usr / bin / env python3
 
#Import uuid module
импорт uuid
 
# Создать случайный идентификатор с помощью uuid1 ()
UID = uuid.uuid1 ()
 
# Распечатать нормальный идентификатор
print ("Нормальное значение:", UID)
# Распечатать идентификатор байта
print ("Значение байта:", repr (UID.байтов))
# Распечатать целочисленный идентификатор
print ("Целочисленное значение:", UID.int)
# Распечатать шестнадцатеричный идентификатор
print ("Шестнадцатеричное значение:", UID.шестнадцатеричный)
 
# Распечатать номер версии
print ("Версия:", UID.версия)
# Распечатать значения полей
print ("Поля:", UID.поля)
# Вывести значение MAC в шестнадцатеричном формате
print ("Значение узла:", шестнадцатеричное (UID.узел))
# Распечатать значение времени
print ("Значение времени:", UID.время)

Выход

Следующий вывод появится после запуска скрипта. Выходные данные показывают, что значение идентификатора по умолчанию было сгенерировано в шестнадцатеричном формате путем разделения отдельных частей дефисом. Последняя часть значения идентификатора содержит MAC-адрес, который всегда будет одинаковым. В узел свойство объекта ID содержит MAC-адрес.

Пример 2: Создание значений SHA-1 и MD5 имени хоста с помощью uuid3 () и uuid5 ()

Важное использование UUID - создание криптографических хеш-значений. uuid3 () а также uuid5 () функции uuid модуль используются для генерации MD5 а также SHA-1 значения. В следующем скрипте переменная кортежа с именем хозяева объявлен с тремя действительными URL-адресами. Значения кортежа повторяются с использованием цикла for. В MD5 и SHA-1 значения каждого URL-адреса затем вычисляются и печатаются на каждой итерации цикла.

#!/ usr / bin / env python3
# импортировать модуль uuid
импорт uuid
 
# Определить кортеж из трех имен хостов
hosts = ('www.linuxhint.com ',' www.Google.com ',' www.фахмида.com ')
 
# Итерируем значения кортежа с помощью цикла
для имени хоста в hosts:
# Распечатать имя хоста
print ("Имя хоста:", имя хоста)
# Используйте uuid5 (), чтобы получить значение SHA-1
print ('\ tЗначение SHA-1:', uuid.uuid5 (uuid.NAMESPACE_DNS, имя хоста))
# Используйте uuid3 (), чтобы получить значение MD5
print ('\ tЗначение MD5:', uuid.uuid3 (uuid.NAMESPACE_DNS, имя хоста))

Выход

Следующий вывод появится после запуска скрипта.

Пример 3: создание случайных чисел с помощью uuid4 ()

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

#!/ usr / bin / env python3
 
# импортировать модуль uuid
импорт uuid
# Инициализировать переменную
я = 1
# Повторяем цикл пять раз
в то время как я<6):
# Генерация случайного числа
print ("Нет-", я, ", uuid.uuid4 ())
# Увеличиваем значение на единицу
я = я + 1

Выход

Следующий вывод появится после запуска скрипта. Если вы запустите скрипт несколько раз, он будет генерировать разные UUID в разное время.

Пример 4: Создание отсортированного UUID из списка с помощью объекта UUID

Следующий скрипт показывает, как вы можете преобразовать элементы списка в UUID и распечатать значения после сортировки. Здесь list_ids переменная объявляется с четырьмя элементами списка, где каждое значение элемента должно быть в допустимом формате UUID. Во-первых, исходные значения list_ids напечатаны. Затем каждое значение элемента списка преобразуется в UUID с помощью цикла в пытаться блокировать. Если list_ids содержит любое значение элемента, не соответствующее формату UUID, тогда ValueError будет сгенерировано исключение, и будет напечатано сообщение об ошибке. Если во время преобразования ошибок не возникает, то преобразованные UUID сортируются с использованием Сортировать() метод. Затем отсортированные значения UUID печатаются с использованием для петля.

#!/ usr / bin / env python3
# импортировать модуль uuid
импорт uuid
 
# Создать список идентификаторов допустимого формата
list_Ids = [
'a4f8dd97-c8be-345b-239e-8a68e6abf800',
'673a5eaa-56c6-aaaa-bc45-4536cd9067ac',
'dcbbaa88-5bf1-11dd-ab48-990ab200d674',
'4567aabb-89ad-77ab-67ad-aaaccdd904ae'
]
 
# Распечатать значения списка с помощью цикла
print ('\ nЗначения списка:')
для val в list_Ids:
печать (val)
 
# Значения списка будут преобразованы в uuids и отсортированы
пытаться:
uuids = [uuid.UUID для s в list_Ids]
uuids.Сортировать()
print ('\ nЗначения отсортированных uuid:')
для val в uuids:
печать (val)
кроме ValueError:
# Вывести сообщение об ошибке, если какое-либо значение списка находится в недопустимом формате
print ('Плохо сформированная шестнадцатеричная строка UUID')

Выход

Следующий вывод появится после запуска скрипта. Здесь все элементы в списке имеют правильный формат UUID. Таким образом, ValueError не будет сгенерировано. Первая часть вывода напечатала исходные элементы списка, а вторая часть вывода напечатала отсортированные значения UUID.

Заключение

Вам может потребоваться сгенерировать UUID в Python для различных целей программирования. В этом руководстве показано, как сгенерировать различные UUID с помощью различных методов. После прочтения этой статьи и практики включенных примеров вы сможете создавать UUID в соответствии с вашими потребностями в программировании.

OpenTTD против Simutrans
Создание собственного транспортного симулятора может быть увлекательным, расслабляющим и чрезвычайно увлекательным занятием. Вот почему вам нужно попр...
Учебник OpenTTD
OpenTTD - одна из самых популярных бизнес-симуляторов. В этой игре вам нужно создать замечательный транспортный бизнес. Тем не менее, вы начнете в нач...
SuperTuxKart для Linux
SuperTuxKart - отличная игра, созданная для того, чтобы бесплатно познакомить вас с Mario Kart в вашей системе Linux. Играть в нее довольно сложно и в...