从字节创建Python的GUID

时间:2016-05-08 05:52:23

标签: java python uuid

我的任务是创建以下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 

请帮忙。

2 个答案:

答案 0 :(得分:1)

我认为它与' 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')

答案 1 :(得分:0)

以下代码为我工作 -

import uuid;

def generate_guid(username):

    class NULL_NAMESPACE:
        bytes = b''

    guid = uuid.uuid3(NULL_NAMESPACE, username);
    return guid

感谢, 穆尔蒂