Używanie UUID w Pythonie

Używanie UUID w Pythonie
Python ma bibliotekę o nazwie UUID (uniwersalny unikalny identyfikator) Aby wygenerować losowy obiekt 128 bitów. Ta biblioteka generuje unikalne identyfikatory na podstawie czasu systemu i adresu sieciowego komputera. Obiekt UUID jest niezmienny i zawiera niektóre funkcje do tworzenia różnych unikalnych identyfikatorów. UUID jest używany do wielu celów, takich jak tworzenie unikalnego losowego identyfikatora, adres MAC oparty na identyfikatorze, wartości skrótu kryptograficzne lub losowe dokumenty. Ten samouczek pokaże, w jaki sposób możesz tworzyć różne typy bibliotek UUID za pomocą różnych funkcji UUID.

Przykład 1: Utwórz UUID na podstawie czasu systemu i adresu MAC

Poniższy przykład pokazuje użycie uuid1 () funkcja uuid moduł do generowania różnych wartości UUID oraz do odczytu i drukowania różnych wartości właściwości obiektu UUID. A UID Obiekt jest zdefiniowany przez wywołanie uuid1 () metoda generowania unikalnego identyfikatora na podstawie adresu systemu i adresu MAC. Następnie normalnie generowany identyfikator, odpowiednia wartość bajtów, wartość liczb całkowita i wartość sześciokątna identyfikatora są drukowane. Wersja, pola, węzeł i właściwości czasowe identyfikatora są następnie wydrukowane w następnej części skryptu.

#!/usr/bin/env python3
#Import UUID moduł
Import UUID
# Utwórz losowy identyfikator za pomocą UUID1 ()
Uid = uuid.uuid1 ()
# Wydrukuj normalny identyfikator
Drukuj („wartość normalna:”, UID)
# Wydrukuj identyfikator bajtów
Drukuj („wartość bajtów:”, Rep (UID.bajty))
# Wydrukuj identyfikator liczby całkowitych
Drukuj („wartość liczb całkowita:”, UID.int)
# Wydrukuj identyfikator sześciokątny
Drukuj („wartość sześciokątna:”, uid.klątwa)
# Wydrukuj numer wersji
Drukuj („Wersja to:”, UID.wersja)
# Wydrukuj wartości pola
wydruku („Pola to:”, UID.pola)
# Wydrukuj wartość MAC w Hex
Drukuj („Wartość węzła to:”, Hex (UID.węzeł))
# Wydrukuj wartość czasu
Drukuj („Wartość czasu to:”, UID.czas)

Wyjście

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu. Wyjście pokazuje, że domyślna wartość identyfikatora została wygenerowana w formacie hex przez oddzielenie odrębnych części za pomocą łącznika. Ostatnia część wartości identyfikacyjnej zawiera adres MAC, który zawsze będzie taki sam. węzeł właściwość obiektu identyfikatora zawiera adres MAC.

Przykład 2: Wygeneruj wartości SHA-1 i MD5 nazwy hosta za pomocą UUID3 () i UUID5 ()

Ważnym zastosowaniem UUID jest tworzenie wartości skrótu kryptograficznego. uuid3 () I uuid5 () funkcje uuid Moduł służy do generowania MD5 I SHA-1 wartości. W poniższym skrypcie nazywana zmienna krotek zastępy niebieskie jest zadeklarowany z trzema ważnymi adresami URL. Wartości krotki są iterowane przy użyciu pętli dla. MD5 i SHA-1 Wartości każdego adresu URL są następnie obliczane i drukowane w każdej iteracji pętli.

#!/usr/bin/env python3
# Importuj moduł UUID
Import UUID
# Zdefiniuj krotność trzech nazw hostów
hosts = ('www.Linuxhint.com ', „www.Google.com ', „www.Fahmidasclassroom.com ')
# Iteruj wartości krotki za pomocą pętli
dla nazwy hosta w hostach:
# Wydrukuj nazwę hosta
Drukuj („nazwa hosta:”, nazwa hosta)
# Użyj UUID5 (), aby uzyskać wartość SHA-1
Drukuj („\ t the Sha-1 wartość:”, uuid.UUID5 (UUID.Namespace_dns, nazwa hosta))
# Użyj UUID3 (), aby uzyskać wartość MD5
drukuj („\ the MD5 Value: ', uuid.UUID3 (UUID.Namespace_dns, nazwa hosta))

Wyjście

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

Przykład 3: Utwórz liczby losowe za pomocą UUID4 ()

Jeśli chcesz wygenerować losowo UUID, powinieneś użyć uuid4 () funkcja uuid moduł. Poniższy skrypt wygeneruje pięć UUID na podstawie losowych wartości za pośrednictwem uuid4 () metoda. chwila Pętla jest używana tutaj, aby zadzwonić uuid4 () Metoda pięć razy i wydrukuj losowo generowane wartości UUID.

#!/usr/bin/env python3
# Importuj moduł UUID
Import UUID
# Zainicjuj zmienną
i = 1
# Pięć razy iteruj pętlę
podczas gdy ja<6):
# Wygeneruj liczbę losową
druk („no-”, i ”, uuid.uuid4 ())
# Zwiększ wartość o jeden
i = i + 1

Wyjście

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu. Jeśli uruchomisz skrypt wiele razy, wygeneruje on różne UUID w różnych momentach.

Przykład 4: Utwórz posortowany UUID z listy za pomocą obiektu UUID

Poniższy skrypt pokazuje, w jaki sposób możesz przekonwertować elementy listy na UUIDS i wydrukować wartości po sortowaniu. Tutaj List_ids Zmienna jest zadeklarowana z czterema elementami listy, w których każda wartość elementu musi znajdować się w prawidłowym formacie UUID. Po pierwsze, oryginalne wartości List_ids są drukowane. Następnie każda wartość elementu listy jest konwertowana na UUID za pomocą pętli w próbować blok. Jeśli List_ids zawiera dowolną wartość elementu, która nie pasuje do formatu UUID, a następnie a ValueerRor wyjątek zostanie wygenerowany, a komunikat o błędzie zostanie wydrukowany. Jeśli nie wystąpi błąd w momencie konwersji, konwertowane UUID są sortowane za pomocą sortować() metoda. Następnie posortowane wartości UUID są drukowane za pomocą Do pętla.

#!/usr/bin/env python3
# Importuj moduł UUID
Import UUID
# Utwórz listę identyfikatorów prawidłowego formatu
List_ids = [
„A4F8DD97-C8BE-345B-239E-8A68E6ABF800”,
„673A5EAA-56C6-AAAA-BC45-4536CD9067AC”,
„DCBBAA88-5BF1-11DD-AB48-990AB200D674”,
„4567AABB-89AD-77AB-67AD-AAACCDD904AE”
]
# Wydrukuj wartości listy za pomocą pętli
Drukuj („Wartości listy:”)
dla Val w List_ids:
druk (val)
# Wartości listy zostaną przekonwertowane na UUID i posortowane
próbować:
uuids = [uuid.UUID (S) dla S w List_ids]
UUIDS.sortować()
Drukuj („\ n Wartości posortowanych UUIDS:”)
dla Val in UUIDS:
druk (val)
Z wyjątkiem ValueerRor:
# Wydrukuj komunikat o błędzie Jeśli jakakolwiek wartość listy jest w nieprawidłowym formacie
Drukuj („źle uformowany sześciokątny ciąg UUID”)

Wyjście

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu. Tutaj wszystkie elementy na liście znajdują się we właściwym formacie UUID. Więc nie zostanie wygenerowane żadne valueRorror. Pierwsza część wyjścia wydrukowała oryginalne elementy listy, a druga część wyjścia wydrukowała posortowane wartości UUIDS.

Wniosek

Możesz być zobowiązany do wygenerowania UUID w Pythonie do różnych celów programowania. Ten samouczek pokazał, jak generować różne UUID przy użyciu różnych metod. Po przeczytaniu tego artykułu i ćwiczeniu dołączonych przykładów, powinieneś być w stanie tworzyć UUIDS zgodnie z potrzebami programowania.