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

same uuid based on seed string in js

我找到了这个答案 但这是 java 方式。

我需要相同,但在 javascript 中,我可以使用任何 npm 模块或任何库或自定义函数。

You can use UUID this way to get always the same UUID for your input String:

String aString="JUST_A_TEST_STRING";
String result = UUID.nameUUIDFromBytes(aString.getBytes()).toString();

这终于救了我

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

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

当前接受的解决方案仅适用于 uuid-1345 github 页的 NodeJS 环境:

Un-Features:

  • Does not work in the browser due to the use of NodeJS's crypto module.

如果您正在寻找可在浏览器中运行的解决方案,您应该使用更流行的 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 就会保持一致。

希望对您有所帮助。

最简单的方法:

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

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

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