Maison > développement back-end > Tutoriel Python > Explication détaillée de la façon dont Python utilise la bibliothèque UUID pour générer des identifiants uniques.

Explication détaillée de la façon dont Python utilise la bibliothèque UUID pour générer des identifiants uniques.

高洛峰
Libérer: 2017-03-23 17:45:44
original
1890 Les gens l'ont consulté

Introduction à l'UUID
L'UUID est un identifiant globalement unique de 128 bits, généralement représenté par une chaîne de 32 octets. Il peut garantir l'unicité du temps et de l'espace, également appelé GUID, le nom complet est : UUID - Universally Unique IDentifier, appelé UUID en Python.
Il utilise l'adresse MAC, l'horodatage, l'espace de noms, le nombre aléatoire et le nombre pseudo-aléatoire pour garantir l'unicité de l'ID généré.
L'UUID dispose principalement de cinq algorithmes, c'est-à-dire cinq méthodes pour l'implémenter.

uuid1()
Copier après la connexion

- basé sur l'horodatage. Généré à partir de l'adresse MAC, de l'horodatage actuel et d'un nombre aléatoire. L'unicité globale peut être garantie, mais l'utilisation de MAC pose également des problèmes de sécurité. IP peut être utilisé à la place de MAC dans le réseau local.

uuid2()
Copier après la connexion

——Basé sur l'environnement informatique distribué DCE (cette fonction n'existe pas en Python). L'algorithme est le même que uuid1, sauf que les 4 premières positions de l'horodatage sont remplacées par des UID POSIX. Cette méthode est rarement utilisée en pratique.

uuid3()
Copier après la connexion

- Valeur de hachage MD5 basée sur le nom. Il est obtenu en calculant la valeur de hachage MD5 du nom et de l'espace de noms, garantissant l'unicité des différents noms dans le même espace de noms et l'unicité des différents espaces de noms, mais le même nom dans le même espace de noms génère le même uuid.

uuid4()
Copier après la connexion

- Basé sur des nombres aléatoires. Obtenu à partir de nombres pseudo-aléatoires, il existe une certaine probabilité de répétition, et cette probabilité peut être calculée.

uuid5()
Copier après la connexion

- Valeur de hachage SHA-1 basée sur le nom. L'algorithme est le même que uuid3, sauf que l'algorithme Secure Hash Algorithm 1 est utilisé.
Exemples d'utilisation

#! coding:utf-8
import uuid
print u"uuid1 生成基于计算机主机ID和当前时间的UUID"
print uuid.uuid1() # UUID('a8098c1a-f86e-11da-bd1a-00112444be1e')
print u"\nuuid3 基于命名空间和一个字符的MD5加密的UUID"
print uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org') #UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e')
print u"\nuuid4 随机生成一个UUID"
print uuid.uuid4() #'16fd2706-8baf-433b-82eb-8c7fada847da'
print u"\nuuid5 基于命名空间和一个字符的SHA-1加密的UUID"
uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org') #UUID('886313e1-3b8a-5372-9b90-0c9aee199e5d')
print u"\n根据十六进制字符生成UUID"
x = uuid.UUID('{00010203-0405-0607-0809-0a0b0c0d0e0f}')
print u"转换成十六进制的UUID表现字符"
print str(x) # '00010203-0405-0607-0809-0a0b0c0d0e0f'
Copier après la connexion


Résultats

uuid1 生成基于计算机主机ID和当前时间的UUID
31a936a1-2339-11e6-8542-9cb70ded607f
uuid3 基于命名空间和一个字符的MD5加密的UUID
6fa459ea-ee8a-3ca4-894e-db77e160355e
uuid4 随机生成一个UUID
67e6497c-8aec-4413-9955-da86f38ff2d6
uuid5 基于命名空间和一个字符的SHA-1加密的UUID
根据十六进制字符生成UUID
转换成十六进制的UUID表现字符
00010203-0405-0607-0809-0a0b0c0d0e0f
Copier après la connexion


Résumé
Ce qui précède concerne Python utilisant la bibliothèque UUID pour générer des identifiants uniques. J'espère que cet article Le contenu peut être utile à tout le monde pour apprendre ou utiliser Python. Si vous avez des questions, vous pouvez laisser un message pour communiquer.


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal