Python

UUID gebruiken in Python

UUID gebruiken in Python
Python heeft een bibliotheek met de naam UUID (Universal Unique Identifier) om een ​​willekeurig object van 128 bits te genereren. Deze bibliotheek genereert unieke ID's op basis van de systeemtijd en het netwerkadres van de computer. Het UUID-object is onveranderlijk en bevat enkele functies om verschillende unieke ID's te maken.  UUID wordt voor veel doeleinden gebruikt, zoals het maken van een unieke willekeurige ID, een ID-gebaseerd MAC-adres, cryptografische hash-waarden of willekeurige documenten. Deze tutorial laat je zien hoe je verschillende soorten UUID-bibliotheken kunt maken met behulp van verschillende UUID-functies.

Voorbeeld 1: UUID maken op basis van systeemtijd en MAC-adres

Het volgende voorbeeld toont het gebruik van de uuid1() functie van de uuid module om verschillende UUID-waarden te genereren en om de verschillende eigenschapswaarden van het UUID-object te lezen en af ​​te drukken. EEN UID object wordt gedefinieerd door het aanroepen van de uuid1() methode om een ​​unieke id te genereren op basis van de systeemtijd en het MAC-adres. Vervolgens worden de normaal gegenereerde ID, de bijbehorende bytes-waarde, de integerwaarde en de hexadecimale waarde van de ID afgedrukt.  De versie-, velden-, knoop- en tijdeigenschappen van de ID worden vervolgens afgedrukt in het volgende deel van het script.

#!/usr/bin/env python3
 
#Uuid-module importeren
import uuid
 
# Maak een willekeurige id aan met uuid1()
UID = uuid.uuid1()
 
# Druk de normale ID af
print ("De normale waarde: ",UID)
# Druk de byte-ID af
print ("De bytewaarde: ",repr(UID.bytes))
# Druk de integer-ID af
print ("De integerwaarde: ",UID.int)
# Druk de hexadecimale ID af
print ("De hexadecimale waarde: ",UID.hex)
 
# Print het versienummer
print ("De versie is :", UID.versie)
# Druk de veldwaarden af
print ("De velden zijn: ", UID.velden)
# Druk de MAC-waarde af in hex
print ("De knoopwaarde is: ", hex(UID.knooppunt))
# Druk de tijdwaarde af
print ("De tijdwaarde is: ", UID.tijd)

Uitgang:

De volgende uitvoer zal verschijnen na het uitvoeren van het script:. De uitvoer laat zien dat de standaard ID-waarde is gegenereerd in hexadecimale indeling door de afzonderlijke delen te scheiden met een koppelteken. Het laatste deel van de ID-waarde bevat het MAC-adres, dat altijd hetzelfde zal zijn. De knooppunt eigenschap van het ID-object bevat het MAC-adres.

Voorbeeld 2: Genereer SHA-1- en MD5-waarden van de hostnaam met uuid3() en uuid5()

Een belangrijk gebruik van UUID is het creëren van cryptografische hash-waarden. uuid3() en uuid5() functies van de uuid module worden gebruikt om te genereren MD5 en SHA-1 waarden. In het volgende script wordt een tuple-variabele met de naam gastheren is gedeclareerd met drie geldige URL-adressen. De waarden van de tuple worden herhaald met behulp van de for-lus. De MD5 en de SHA-1 waarden van elke URL worden vervolgens berekend en afgedrukt in elke iteratie van de lus.

#!/usr/bin/env python3
# import uuid-module
import uuid
 
# Definieer een tupel van drie hostnamen
hosts = ('www.linuxhint.com', 'www.google.com', 'www.fahmidasklas.com')
 
# Herhaal de waarden van de tuple met loop
voor hostnaam in hosts:
# Print de hostnaam
print("Hostnaam: ",hostnaam)
# Gebruik uuid5() om de SHA-1-waarde te krijgen
print('\tDe SHA-1 waarde :', uuid.uuid5(uuid.NAMESPACE_DNS, hostnaam))
# Gebruik uuid3() om de MD5-waarde te krijgen
print('\tDe MD5-waarde   :', uuid.uuid3(uuid).NAMESPACE_DNS, hostnaam))

Uitgang:

De volgende uitvoer zal verschijnen na het uitvoeren van het script:.

Voorbeeld 3: Maak willekeurige getallen met uuid4()

Als u de UUID willekeurig wilt genereren, moet u de uuid4() functie van de uuid module. Het volgende script genereert vijf UUID's op basis van willekeurige waarden via de uuid4() methode. De terwijl lus wordt hier gebruikt om de . aan te roepen uuid4() methode vijf keer en druk de willekeurig gegenereerde UUID-waarden af.

#!/usr/bin/env python3
 
# import uuid-module
import uuid
# Initialiseer de variabele
ik = 1
# Herhaal de lus vijf keer
terwijl ik<6):
# Genereer een willekeurig nummer
print("Nee-", i,"", uuid.uuid4())
# Verhoog de waarde met één
ik = ik + 1

Uitgang:

De volgende uitvoer zal verschijnen na het uitvoeren van het script:. Als u het script meerdere keren uitvoert, genereert het verschillende UUID's op verschillende tijdstippen.

Voorbeeld 4: Maak een gesorteerde UUID uit een lijst met behulp van een UUID-object

Het volgende script laat zien hoe u de items van een lijst kunt converteren naar UUID's en de waarden kunt afdrukken na het sorteren. Hier de list_ids variabele wordt gedeclareerd met vier lijstitems, waarbij elke itemwaarde een geldig UUID-formaat moet hebben. Ten eerste, de oorspronkelijke waarden van de list_ids zijn gedrukt. Vervolgens wordt elke itemwaarde van de lijst geconverteerd naar UUID met behulp van een lus in de proberen blok. Als de list_ids een itemwaarde bevat die niet overeenkomt met het UUID-formaat, dan a WaardeFout uitzondering wordt gegenereerd en een foutmelding wordt afgedrukt. Als er geen fout optreedt op het moment van conversie, worden de geconverteerde UUID's gesorteerd met behulp van de soort() methode. Vervolgens worden de gesorteerde UUID-waarden afgedrukt met de voor lus.

#!/usr/bin/env python3
# import uuid-module
import uuid
 
# Maak een lijst met ID's met een geldig formaat
lijst_Id's = [
'a4f8dd97-c8be-345b-239e-8a68e6abf800',
'673a5eaa-56c6-aaaa-bc45-4536cd9067ac',
'dcbbaa88-5bf1-11dd-ab48-990ab200d674',
'4567aabb-89ad-77ab-67ad-aaaccdd904ae'
]
 
# Druk de lijstwaarden af ​​met loop
print('\nDe waarden van de lijst:')
voor val in lijst_Ids:
afdrukken (val)
 
# De waarden van de lijst worden geconverteerd naar uuids en gesorteerd
proberen:
uuid = [ uuid.UUID(s) voor s in list_Ids ]
uuids.soort()
print('\nDe waarden van de gesorteerde uuids:')
voor val in uuids:
afdrukken (val)
behalve ValueError:
# Druk een foutmelding af als een waarde van de lijst een ongeldig formaat heeft
print('Slecht gevormde hexadecimale UUID-string')

Uitgang:

De volgende uitvoer zal verschijnen na het uitvoeren van het script:. Hier hebben alle items in de lijst de juiste UUID-indeling. Er wordt dus geen ValueError gegenereerd. Het eerste deel van de uitvoer drukte de originele lijstitems af en het tweede deel van de uitvoer drukte de gesorteerde waarden van de UUID's af.

Conclusie

Mogelijk moet u voor verschillende programmeerdoeleinden UUID in Python genereren. Deze tutorial liet je zien hoe je verschillende UUID's kunt genereren met behulp van verschillende methoden. Na het lezen van dit artikel en het oefenen van de bijgevoegde voorbeelden, zou je in staat moeten zijn om UUID's te maken volgens je programmeerbehoeften.

Hoe FPS te verhogen in Linux?
FPS staat voor Beelden per seconde. De taak van FPS is om de framesnelheid te meten bij het afspelen van video's of speluitvoeringen. In eenvoudige wo...
Top Oculus App Lab-games
Als je eigenaar bent van een Oculus-headset, moet je op de hoogte zijn van sideloading. Sideloading is het proces van het installeren van niet-winkeli...
Top 10 spellen om te spelen op Ubuntu
Het Windows-platform is een van de dominante platforms voor gaming geweest vanwege het enorme percentage games dat tegenwoordig wordt ontwikkeld om Wi...