当前位置: 首页 > 知识库问答 >
问题:

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

巫马嘉祯
2023-03-14

我找到了这个答案,有没有办法基于JDK或某个库中的种子字符串生成相同的UUID?但这是java的方式。

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

可以通过这种方式使用UUID为输入字符串获取始终相同的UUID:

String aString=“JUST\u A\u TEST\u String”
字符串结果=UUID。nameuuidrombytes(aString.getBytes())。toString();

共有3个答案

丰誉
2023-03-14

最终这拯救了我

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

UUID.v5({
    namespace: UUID.namespace.url,
    name: "test"
});
上官霄
2023-03-14

最简单的方法:

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

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

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

易弘亮
2023-03-14

根据uuid-1345的github页面,当前接受的解决方案只能在NodeJS环境中工作:

功能

  • 由于使用了NodeJS的加密模块,无法在浏览器中工作。

如果您正在寻找在浏览器中工作的解决方案,您应该使用更流行的uuid库。

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将保持一致。

希望这有帮助。

 类似资料:
  • 问题内容: 我有2个数据框,格式如下: 完整的df_search有15,000个项目。df_all有550,000个项目。我正在尝试基于文件字符串中的搜索项目字符串来合并两个数据框。我想要的输出是这样的: 简单的数据框合并不起作用,因为字符串永远不会完全匹配(它始终是子字符串)。我还根据其他关于stackoverflow的问题尝试了以下方法: 这给了我df_all中所有找到的项目的完整列表,但是我

  • 例如,我们有一个字符串:asd/asd/asd/1#s_ 我需要匹配以下部分:/asd/1#s_或asd/1#s_如何使用普通正则表达式? 我试过像这样的消极前瞻,但它不起作用 它匹配这个“前缀/asd/1#s_”,我需要匹配“/asd/1#s_”中的这个“/asd/1#”,我需要匹配“/asd/1#s_”,而没有所有前面的 /asd/'s 匹配应该与普通正则表达式没有任何编程语言的任何帮助函数h

  • 我想像下面这样拆分这个字符串: {“我喜欢一个”、“橘子”、“以及”、“苹果”、“但主要是”、“苹果”、“苹果”,“苹果”,“橘子”,“是最好的水果。”} 在上面,我已经拆分了基于水果橙和苹果的字符串,但这两个水果也是子字符串列表的一部分。

  • 我有类似这样的ab阵列: 和下面这样的字符串: 正如您在该字符串中看到,我有字符存在于运算符数组中,现在我要根据数组中存在的运算符字符拆分字符串。我知道我可以用regex做这件事,但我不知道怎么做

  • 问题内容: 我的数据库中有文本。我从xhr向我的视图发送一些文本。函数查找找不到某些Unicode字符。 我想使用以下方式找到选定的文本: 但有时变量“选择”包含如下字符: 而在变量“文本”中有: 它们只是同一事物的不同形式。在这里如何使工作更可靠? 问题答案: 这可能对您有帮助。 基本上,如果您对来自db的数据进行规范化,并且将选择规范化为相同的形式,那么使用,(即)和朋友时应该会得到更好的结果

  • null 有人能帮我弄清楚为什么上面的代码给出了错误的答案吗?