Python標準ライブラリ--uuid

オリジナルリンク: https://www.jianshu.com/u/8f2987e2f9fb

UUID(汎用一意識別子)は、典型的には32バイトの文字列で表される128ビットの汎用一意識別子です。また、GUID、完全な名前として知られている時間と空間の一意性を保証することができますUUIDを - 汎用一意識別子を、PythonはUUIDと呼ばれます。

そのような私たちの共通のデータベースなど多くの分野で使用されるロゴは、何のための固有のコードを実行することが可能である、原理的には、主キーとして使用することができます。

このMACアドレス、タイムスタンプ、名前空間、乱数、擬似乱数生成IDの一意性を保証します。
ここでUUIDパイソンを生成する方法の簡単な説明です:
PythonはUUIDと呼ばれるモジュールを持っている、あなたは、の4つのメソッドをインポートするためにそれを使用することができます。これらの4つの方法がUUID1()、uuid3()、続くことに注意してください uuid4()、uuid5()、
しかし、)(UUID2ませんでした。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#! 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'

一見すると、すべての36の文字、それらは以下の1つの分析、最終的には違いは何ですか。

UUID1():これは、最後の12個の文字が、それはMACアドレスであるため408d5c985711対応するMACアドレスは、ある、現在のタイムスタンプおよびMACアドレスに基づいて生成され、その後、一意性は言っていないはず。しかし、暴露後に非常に悪いですMACアドレスを生成します。

uuid3():名前空間の特定の文字列の内側と我々は???たちはほとんど使用されませんMD5、不可解な感覚によって生成されるべきか、その後、指定されています。

uuid4():それはランダムであるため、これはUUID乱数に基づいており、実際には同じが発生する可能性があり、それはランダムなだけでなく、使いやすいので、これは、のような、超小型確率を受賞したようなものですので、これを利用、またはそれ以上。

uuid5():これはではなく、ここでは、ハッシュMD5が、SHA1と、)(uuid3に見える全く異なるが、書かれたように、ユーザーによる名前空間と文字列を指定することではないに見えます。

ここで再び、それは簡単なプロセス、UUID中間程度である「 - 」ではなく奇妙なキャラクターである、あなたはそれを取り除く必要があり、これは実際には、超簡単です:

uid = str(uuid.uuid4())
suid = ''.join(uid.split('-'))

おすすめ

転載: blog.csdn.net/sinat_38682860/article/details/100541975
おすすめ