Python

Utiliser l'UUID en Python

Utiliser l'UUID en Python
Python a une bibliothèque nommée UUID (Identifiant Unique Universel) pour générer un objet aléatoire de 128 bits. Cette bibliothèque génère des identifiants uniques basés sur l'heure système et l'adresse réseau de l'ordinateur. L'objet UUID est immuable et il contient des fonctions pour créer divers identifiants uniques.  L'UUID est utilisé à de nombreuses fins, telles que la création d'un identifiant aléatoire unique, une adresse MAC basée sur un identifiant, des valeurs de hachage cryptographiques ou des documents aléatoires. Ce didacticiel vous montrera comment créer différents types de bibliothèques UUID en utilisant différentes fonctions UUID.

Exemple 1 : créer un UUID basé sur l'heure système et l'adresse MAC

L'exemple suivant montre l'utilisation du uuid1() fonction de la uuid module pour générer diverses valeurs UUID et pour lire et imprimer les différentes valeurs de propriété de l'objet UUID. UNE UID l'objet est défini en appelant le uuid1() méthode pour générer un identifiant unique basé sur l'heure système et l'adresse MAC. Ensuite, l'ID normalement généré, la valeur d'octets correspondante, la valeur entière et la valeur hexadécimale de l'ID sont imprimés.  La version, les champs, le nœud et les propriétés de temps de l'ID sont ensuite imprimés dans la partie suivante du script.

#!/usr/bin/env python3
 
#Importer le module uuid
uuid d'importation
 
# Créer un identifiant aléatoire en utilisant uuid1()
UID = UID.uuid1()
 
# Imprimer l'ID normal
print ("La valeur normale: ",UID)
# Imprimer l'ID d'octet
print ("La valeur de l'octet : ", repr(UID.octets))
# Imprimer l'ID entier
print ("La valeur entière : ",UID.entier)
# Imprimer l'ID hexadécimal
print ("La valeur hexadécimale : ",UID.hexadécimal)
 
# Imprimer le numéro de version
print ("La version est :", UID.version)
# Imprimer les valeurs du champ
print ("Les champs sont : ", UID.des champs)
# Imprimer la valeur MAC en hexadécimal
print ("La valeur du nœud est : ", hex(UID.nœud))
# Imprimer la valeur du temps
print ("La valeur de temps est : ", UID.temps)

Production

La sortie suivante apparaîtra après l'exécution du script. La sortie montre que la valeur d'ID par défaut a été générée au format hexadécimal en séparant les parties distinctes par un tiret. La dernière partie de la valeur ID contient l'adresse MAC, qui sera toujours la même. le nœud la propriété de l'objet ID contient l'adresse MAC.

Exemple 2 : générer les valeurs SHA-1 et MD5 du nom d'hôte à l'aide de uuid3() et uuid5()

Une utilisation importante de l'UUID consiste à créer des valeurs de hachage cryptographiques. uuid3() et uuid5() fonctions de la uuid module sont utilisés pour générer MD5 et SHA-1 valeurs. Dans le script suivant, une variable de tuple nommée hôtes est déclaré avec trois adresses URL valides. Les valeurs du tuple sont itérées à l'aide de la boucle for. le MD5 et le SHA-1 les valeurs de chaque URL sont ensuite calculées et imprimées à chaque itération de la boucle.

#!/usr/bin/env python3
# module uuid d'importation
uuid d'importation
 
# Définition d'un tuple de trois noms d'hôtes
hôtes = ('www.astuce linux.com', 'www.Google.com', 'www.fahmidassalle de classe.com')
 
# Itérer les valeurs du tuple en utilisant la boucle
pour le nom d'hôte dans les hôtes :
# Imprimer le nom d'hôte
print("Nom d'hôte : ",nom d'hôte)
# Utilisez uuid5() pour obtenir la valeur SHA-1
print('\tLa valeur SHA-1 :', uuid.uuid5(uuid.NAMESPACE_DNS, nom d'hôte))
# Utilisez uuid3() pour obtenir la valeur MD5
print('\tLa valeur MD5   :', uuid.uuid3(uuid.NAMESPACE_DNS, nom d'hôte))

Production

La sortie suivante apparaîtra après l'exécution du script.

Exemple 3 : créer des nombres aléatoires à l'aide de uuid4()

Si vous souhaitez générer l'UUID de manière aléatoire, vous devez utiliser le uuid4() fonction de la uuid module. Le script suivant générera cinq UUID basés sur des valeurs aléatoires via le uuid4() méthode. le tandis que boucle est utilisée ici pour appeler le uuid4() méthode cinq fois et imprimer les valeurs UUID générées aléatoirement.

#!/usr/bin/env python3
 
# module uuid d'importation
uuid d'importation
# Initialiser la variable
je = 1
# Itérer la boucle cinq fois
alors que je<6):
# Générer un nombre aléatoire
print("Non-", je,", uuid.uuid4())
# Incrémenter la valeur de un
je = je + 1

Production

La sortie suivante apparaîtra après l'exécution du script. Si vous exécutez le script plusieurs fois, il générera différents UUID à différents moments.

Exemple 4 : créer un UUID trié à partir d'une liste à l'aide d'un objet UUID

Le script suivant montre comment vous pouvez convertir les éléments d'une liste en UUID et imprimer les valeurs après le tri. Ici le list_ids la variable est déclarée avec quatre éléments de liste, où chaque valeur d'élément doit être au format UUID valide. Premièrement, les valeurs originales du list_ids sont imprimés. Ensuite, chaque valeur d'élément de la liste est convertie en UUID à l'aide d'une boucle dans le essayer bloquer. Si la list_ids contient une valeur d'élément qui ne correspond pas au format UUID, puis un Erreur de valeur une exception sera générée et un message d'erreur sera imprimé. Si aucune erreur ne se produit au moment de la conversion, les UUID convertis sont triés à l'aide du sorte() méthode. Ensuite, les valeurs UUID triées sont imprimées à l'aide du pour boucle.

#!/usr/bin/env python3
# module uuid d'importation
uuid d'importation
 
# Créer une liste d'identifiants de format valide
list_Ids = [
'a4f8dd97-c8be-345b-239e-8a68e6abf800',
'673a5eaa-56c6-aaaa-bc45-4536cd9067ac',
'dcbbaa88-5bf1-11dd-ab48-990ab200d674',
'4567aabb-89ad-77ab-67ad-aaaccdd904ae'
]
 
# Imprimer les valeurs de la liste à l'aide de la boucle
print('\nLes valeurs de la liste :')
pour val dans list_Ids :
imprimer (val)
 
# Les valeurs de list seront converties en uuids et triées
essayer:
uuid = [ uuid.UUID(s) pour s dans list_Ids ]
uuids.sorte()
print('\nLes valeurs des uuids triés :')
pour val en uuids :
imprimer (val)
sauf ValueError :
# Affiche un message d'erreur si une valeur de la liste est dans un format invalide
print('Chaîne UUID hexadécimale mal formée')

Production

La sortie suivante apparaîtra après l'exécution du script. Ici, tous les éléments de la liste sont au bon format UUID. Ainsi, aucune ValueError ne sera générée. La première partie de la sortie a imprimé les éléments de la liste d'origine et la deuxième partie de la sortie a imprimé les valeurs triées des UUID.

Conclusion

Vous devrez peut-être générer un UUID en Python à diverses fins de programmation. Ce didacticiel vous a montré comment générer divers UUID à l'aide de diverses méthodes. Après avoir lu cet article et pratiqué les exemples inclus, vous devriez être en mesure de créer des UUID en fonction de vos besoins de programmation.

Comment booster les FPS sous Linux?
FPS signifie Images par seconde. La tâche du FPS est de mesurer la fréquence d'images dans les lectures vidéo ou les performances de jeu. En termes si...
Meilleurs jeux de laboratoire d'applications Oculus
Si vous êtes propriétaire d'un casque Oculus, vous devez être au courant du chargement latéral. Le chargement latéral est le processus d'installation ...
Top 10 des jeux à jouer sur Ubuntu
La plate-forme Windows a été l'une des plates-formes dominantes pour les jeux en raison du pourcentage énorme de jeux qui se développent aujourd'hui p...