在javascript nodejs中等效的python uuid5

时间:2017-04-22 09:11:56

标签: javascript python node.js byte hmacsha1

我正在尝试将python代码转换为节点js。需要帮助将此代码转换为JS。

```

import uuid
uuid_salt = '9909fa72-b690-55dd-ab71-a987953bb438'
x = 'hello'
uuid_salt = uuid.UUID(uuid_salt)
salted_uuid = lambda x: str(uuid.uuid5(uuid_salt, x))
print salted_uuid(x)

```

预期产出 - 3e735408-7f83-53cf-b7ce-f9ef69e5ca43

我尝试用这种方式编写,但输出不匹配

var uuid_salt = '9909fa72-b690-55dd-ab71-a987953bb438'
var x = 'hello'
var hmac = crypto.createHmac('sha1', uuid_salt);

hmac.setEncoding('hex');
hmac.end(x, function () {
  hash = hmac.read();
  console.log('hash >>> ', hash);
});

这是库中的实际python函数复制粘贴

def uuid5(namespace, name):
    """Generate a UUID from the SHA-1 hash of a namespace UUID and a name."""
    from hashlib import sha1
    hash = sha1(namespace.bytes + name).digest()
    return UUID(bytes=hash[:16], version=5)

我猜错了字节部分我尝试在JavaScript / Node中创建了bytes数组,但输出仍然关闭。

请帮忙。

提前致谢!

0 个答案:

没有答案