NodeJS js中基于种子字符串的相同uuid

tvz2xvvm  于 2023-11-17  发布在  Node.js
关注(0)|答案(3)|浏览(124)

我找到了这个答案Is there any way to generate the same UUID based on the seed string in JDK or some library?,但这是java的方式。
我需要同样的,但在JavaScript中,我可以使用任何npm模块或任何库或自定义函数。
您可以通过这种方式使用UUID来为输入String获取始终相同的UUID:
String aString=“JUST_A_TEST_STRING”;
String result = UUID. nameUUID FromString(aString. getString()).toString();

1tuwyuhd

1tuwyuhd1#

目前接受的解决方案将只能在uuid-1345的github页面的NodeJS环境中工作:
取消功能:

  • 由于使用了NodeJS的加密模块,因此在浏览器中不起作用。

如果你正在寻找一个可以在浏览器中工作的解决方案,你应该使用更流行的uuid library

const uuidv5 = require('uuid/v5');

// ... using a custom namespace
//
// Note: Custom namespaces should be a UUID string specific to your application!
// E.g. the one here was generated using this modules `uuid` CLI.
const MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';
uuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'

字符串
只要传递给它相同的名称空间,UUID就会保持一致。
希望能帮上忙。

iih3973s

iih3973s2#

最简单的方法:

const getUuid = require('uuid-by-string')

const uuidHash = getUuid('Hello world!')
// d3486ae9-136e-5856-bc42-212385ea7970

字符串
https://www.npmjs.com/package/uuid-by-string

v09wglhw

v09wglhw3#

最后这个救了我

var UUID = require('uuid-1345');

UUID.v5({
    namespace: UUID.namespace.url,
    name: "test"
});

字符串

相关问题