通过 Python 从字节创建 GUID
Creating GUID by Python from bytes
我接到任务创建以下 GUID:
Java中的代码应该是这样的:
GUID ==> java.util.UUID.nameUUIDFromBytes(username.getBytes());
我想在给定用户名的情况下进行相同的计算,并在 Python 中接收相同的 GUID!
我做了以下操作,但未能获得相同的 GUID:
def compute_guid_by_username(username):
bytes = get_bytes(username)
class NULL_NAMESPACE:
bytes = b''
guid = uuid.uuid3(NULL_NAMESPACE, bytes)
return guid
请帮忙。
我觉得跟'get_bytes'函数有关系。当我 运行 你的代码没有那个位时,它工作得很好。
没有'get_bytes'函数:
import uuid
def generate_guid(username):
class NULL_NAMESPACE:
bytes = b''
guid = uuid.uuid3(NULL_NAMESPACE, username.encode('utf-8'))
return guid
尝试一下:
In [1]: from guids import generate_guid
In [2]: generate_guid('bob')
Out[2]: UUID('9f9d51bc-70ef-31ca-9c14-f307980a29d8')
In [3]: generate_guid('bob')
Out[3]: UUID('9f9d51bc-70ef-31ca-9c14-f307980a29d8')
下面的代码对我有用 -
import uuid;
def generate_guid(username):
class NULL_NAMESPACE:
bytes = b''
guid = uuid.uuid3(NULL_NAMESPACE, username);
return guid
谢谢,
穆蒂
我接到任务创建以下 GUID:
Java中的代码应该是这样的:
GUID ==> java.util.UUID.nameUUIDFromBytes(username.getBytes());
我想在给定用户名的情况下进行相同的计算,并在 Python 中接收相同的 GUID!
我做了以下操作,但未能获得相同的 GUID:
def compute_guid_by_username(username):
bytes = get_bytes(username)
class NULL_NAMESPACE:
bytes = b''
guid = uuid.uuid3(NULL_NAMESPACE, bytes)
return guid
请帮忙。
我觉得跟'get_bytes'函数有关系。当我 运行 你的代码没有那个位时,它工作得很好。
没有'get_bytes'函数:
import uuid
def generate_guid(username):
class NULL_NAMESPACE:
bytes = b''
guid = uuid.uuid3(NULL_NAMESPACE, username.encode('utf-8'))
return guid
尝试一下:
In [1]: from guids import generate_guid
In [2]: generate_guid('bob')
Out[2]: UUID('9f9d51bc-70ef-31ca-9c14-f307980a29d8')
In [3]: generate_guid('bob')
Out[3]: UUID('9f9d51bc-70ef-31ca-9c14-f307980a29d8')
下面的代码对我有用 -
import uuid;
def generate_guid(username):
class NULL_NAMESPACE:
bytes = b''
guid = uuid.uuid3(NULL_NAMESPACE, username);
return guid
谢谢, 穆蒂