通过 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

谢谢, 穆蒂