Pytonorm

Använda UUID i Python

Använda UUID i Python
Python har ett bibliotek som heter UUID (Universal Unique Identifier) för att generera ett slumpmässigt objekt på 128 bitar. Detta bibliotek genererar unika ID: n baserat på systemtiden och datorns nätverksadress. UUID-objektet är oföränderligt och det innehåller några funktioner för att skapa olika unika ID: n.  UUID används för många ändamål, till exempel att skapa ett unikt slumpmässigt ID, en ID-baserad MAC-adress, kryptografiska hashvärden eller slumpmässiga dokument. Denna handledning visar hur du kan skapa olika typer av UUID-bibliotek med olika UUID-funktioner.

Exempel 1: Skapa UUID baserat på systemtid och MAC-adress

Följande exempel visar användningen av uuid1 () funktion av uuid modul för att generera olika UUID-värden och för att läsa och skriva ut de olika egenskapsvärdena för UUID-objektet. A UID objekt definieras genom att anropa uuid1 () metod för att skapa ett unikt id baserat på systemtid och MAC-adress. Därefter skrivs ut det normalt genererade ID: et, motsvarande bytevärde, helvärdet och hex-värdet för ID.  Version, fält, nod och tidsegenskaper för ID skrivs sedan ut i nästa del av skriptet.

#!/ usr / bin / env python3
 
#Import uuid-modul
importera vätska
 
# Skapa slumpmässigt id med uuid1 ()
UID = uuid.uuid1 ()
 
# Skriv ut normalt ID
print ("Det normala värdet:", UID)
# Skriv ut byte-ID
skriv ut ("Bytevärdet:", repr (UID.byte))
# Skriv ut heltalets ID
print ("Heltalsvärdet:", UID.int)
# Skriv ut hex-ID
print ("Hex-värdet:", UID.hex)
 
# Skriv ut versionsnumret
print ("Versionen är:", UID.version)
# Skriv ut fältvärdena
skriv ut ("Fälten är:", UID.fält)
# Skriv ut MAC-värdet i hex
print ("Nodvärdet är:", hex (UID.nod))
# Skriv ut tidsvärdet
print ("Tidsvärdet är:", UID.tid)

Produktion

Följande utdata visas efter körning av skriptet. Utgången visar att standard-ID-värdet genererades i hex-format genom att separera de olika delarna med ett bindestreck. Den sista delen av ID-värdet innehåller MAC-adressen, som alltid kommer att vara densamma. De nod egenskapen för ID-objektet innehåller MAC-adressen.

Exempel 2: Generera SHA-1- och MD5-värden för värdnamnet med uuid3 () och uuid5 ()

En viktig användning av UUID är att skapa kryptografiska hashvärden. uuid3 () och uuid5 () funktioner för uuid modulen används för att generera MD5 och SHA-1 värden. I följande skript heter en tupelvariabel värdar deklareras med tre giltiga URL-adresser. Värdena för tupeln upprepas med hjälp av for-slingan. De MD5 och den SHA-1 värdena för varje URL beräknas sedan och skrivs ut i varje iteration av slingan.

#!/ usr / bin / env python3
# import uuid-modul
importera vätska
 
# Definiera en tuple med tre värdnamn
värdar = ('www.linuxhint.com ',' www.Google.com ',' www.fahmidasclassroom.com ')
 
# Iterera värdena på tupeln med hjälp av loop
för värdnamn i värdar:
# Skriv ut värdnamnet
skriv ut ("Värdnamn:", värdnamn)
# Använd uuid5 () för att få SHA-1-värde
skriva ut ('\ tVärdet SHA-1:', uuid.uuid5 (uuid.NAMESPACE_DNS, värdnamn))
# Använd uuid3 () för att få MD5-värde
skriv ut ('\ tDD5-värdet:', uuid.uuid3 (uuid.NAMESPACE_DNS, värdnamn))

Produktion

Följande utdata visas efter körning av skriptet.

Exempel 3: Skapa slumptal med uuid4 ()

Om du vill generera UUID slumpmässigt bör du använda uuid4 () funktion av uuid modul. Följande skript genererar fem UUID baserat på slumpmässiga värden via uuid4 () metod. De medan loop används här för att ringa uuid4 () metod fem gånger och skriv ut slumpmässigt genererade UUID-värden.

#!/ usr / bin / env python3
 
# import uuid-modul
importera vätska
# Initiera variabeln
i = 1
# Iterera slingan fem gånger
medan jag<6):
# Skapa ett slumpmässigt tal
skriva ut ("No-", i, ", uuid.uuid4 ())
# Öka värdet med ett
i = i + 1

Produktion

Följande utdata visas efter körning av skriptet. Om du kör skriptet flera gånger kommer det att generera olika UUID vid olika tidpunkter.

Exempel 4: Skapa sorterat UUID från en lista med UUID-objekt

Följande skript visar hur du kan konvertera objekten i en lista till UUID och skriva ut värdena efter sortering. Här, den list_id variabel deklareras med fyra listobjekt, där varje artikelvärde måste vara i giltigt UUID-format. Först, de ursprungliga värdena för list_id är tryckta. Därefter konverteras varje artikelvärde i listan till UUID med hjälp av en slinga i Prova blockera. Om den list_id innehåller något artikelvärde som inte matchar UUID-formatet, sedan a ValueError undantag genereras och ett felmeddelande kommer att skrivas ut. Om inget fel inträffar vid tidpunkten för omvandlingen sorteras de konverterade UUID: erna med sortera() metod. Därefter skrivs de sorterade UUID-värdena ut med för slinga.

#!/ usr / bin / env python3
# import uuid-modul
importera vätska
 
# Skapa en lista med ID med giltigt format
list_Ids = [
'a4f8dd97-c8be-345b-239e-8a68e6abf800',
'673a5eaa-56c6-aaaa-bc45-4536cd9067ac',
'dcbbaa88-5bf1-11dd-ab48-990ab200d674',
'4567aabb-89ad-77ab-67ad-aaaccdd904ae'
]
 
# Skriv ut listvärdena med hjälp av loop
print ('\ nVärdena i listan:')
för val i listan_Ids:
tryck (val)
 
# Värdena i listan kommer att konverteras till uuids och sorteras
Prova:
uuids = [uuid.UUID (er) för s i listan_Ids]
uuids.sortera()
print ('\ nVärdena för de sorterade uuiderna:')
för val i uuids:
tryck (val)
utom ValueError:
# Skriv ut felmeddelande om något värde i listan är i ogiltigt format
skriva ut ('Dåligt bildad hexadecimal UUID-sträng')

Produktion

Följande utdata visas efter körning av skriptet. Här är alla objekt i listan i rätt UUID-format. Så ingen ValueError kommer att genereras. Den första delen av utskriften skrev ut de ursprungliga listobjekten och den andra delen av utskriften skrev ut de sorterade värdena på UUID: erna.

Slutsats

Du kan behöva skapa UUID i Python för olika programmeringsändamål. Denna handledning visade dig hur du genererar olika UUID med olika metoder. Efter att ha läst den här artikeln och övat på de inkluderade exemplen bör du kunna skapa UUID enligt dina programmeringsbehov.

Hur man laddar ner och spelar Sid Meier's Civilization VI på Linux
Introduktion till spelet Civilization 6 är ett modernt intag av det klassiska konceptet som introducerades i serien Age of Empires-spel. Idén var gans...
Hur man installerar och spelar Doom på Linux
Introduktion till Doom Doom-serien har sitt ursprung på 90-talet efter att den ursprungliga Doom släpptes. Det blev en omedelbar hit och från den tide...
Vulkan för Linux-användare
Med varje ny generation grafikkort ser vi spelutvecklare driva gränserna för grafisk trohet och komma ett steg närmare fotorealism. Men trots all kred...