python3 uuid到base64.urlsafe编码和解码不匹配

时间:2017-08-09 19:39:36

标签: python-3.x

我在使用base64编码的uuid与原始uuid匹配时遇到问题。

以下是代码:

import base64, uuid

def uuid2slug(uuidstring):
    return base64.urlsafe_b64encode(uuid.uuid1().bytes).decode("utf-8").rstrip('=\n').replace('/', '_')

def slug2uuid(slug):
    return uuid.UUID(bytes=base64.urlsafe_b64decode((slug + '==').replace('_', '/')))

uid = uuid.uuid1()
urlslug = uuid2slug(uid)
urluid = slug2uuid(urlslug)

print(uid)
print(urlslug)
print(urluid)

这会在uuid的第一列中返回不匹配:

cfe71fa2-7d39-11e7-9264-000c29023711
z-cg7H05EeeSZAAMKQI3EQ
cfe720ec-7d39-11e7-9264-000c29023711

有什么想法吗?

这是使用Python 3.5.3

0 个答案:

没有答案