shortuuid生成庫學習小結
by:授客 QQ:1033553122
實踐環境
win10
Python 3.5.4
shortuuid-1.0.1-py3-none-any.whl
下載地址:
shortuuid-1.0.1.tar.gz
shortuuid庫簡介
shortuuid通過使用Python內置的uuid模塊生成簡潔,明確,URL安全的uuid,然后使用大小寫字母和數字將它們轉換為base57,並刪除類似的字符,如l、1、I、O和0
使用舉例
>>> import shortuuid
>>> shortuuid.uuid()
'4jYtG2xGoFvTcNPbnoyCNq'
如果需要生成uui5, 可以將名稱( DNS或者 URL ) 傳遞給函數調用,它將用作產生的UUID的命名空間(UUID.namespace_dns或者 UUID.namespace_url ):
>>> shortuuid.uuid(name="example.com")
'exu3DTbj2ncsn9tLdLWspw'
>>> shortuuid.uuid(name="http://example.com")
'T35fvrnVz6SMSdh9y5hs8c'
還可以生成帶密碼的安全隨機字符串(內部使用 os.urandom())
>>> shortuuid.ShortUUID().random(length=22)
'42qBMavZJGyFmCpA49WgMv'
查看用於生成新uuid的字母表
>>> shortuuid.get_alphabet()
'23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
如果你想使用自定義字母表生成 uuid,客使用set_alphabet():
>>> shortuuid.set_alphabet('LMNPaaaaabcdefgh1230123fghijk')
>>> shortuuid.get_alphabet()
'0123LMNPabcdefghijk'
還支持對已生成的uuid進行加解碼
>>> import uuid
>>> u = uuid.uuid4()
>>> u
UUID('8b6b07db-d753-4627-8e1c-4873fe427439')
>>> s = shortuuid.encode(u)
>>> s
'0hMMNLce3gecchjf31N11kkh3MN1fej'
>>> shortuuid.decode(s) == u
True
參考鏈接
https://pypi.org/project/shortuuid/#description