首页 >web前端 >js教程 >如何在 JavaScript 中生成全局唯一标识符 (GUID/UUID)?

如何在 JavaScript 中生成全局唯一标识符 (GUID/UUID)?

DDD
DDD原创
2024-12-20 16:27:20411浏览

How Can I Generate Globally Unique Identifiers (GUIDs/UUIDs) in JavaScript?

在 JavaScript 中创建全局唯一标识符

在 JavaScript 领域,经常会出现生成全局唯一标识符 (GUID) 或通用唯一标识符 (UUID) 的任务。这些标识符充当系统内实体或资源的唯一表示,确保其独特性。

方法 1:用于安全环境的本机浏览器 API

如果您的应用程序在安全上下文(localhost、HTTPS),crypto.randomUUID() 方法提供了一个可靠的选项。该 API 在现代浏览器和 JS 运行时中得到广泛支持。但需要注意的是,它的可用性仅限于安全上下文。

方法 2:uuid 模块

适用于安全上下文不可用或兼容性的场景对于需要遗留平台的情况,uuid 模块提供了一个强大的解决方案。该模块经过大量测试,支持生成各个版本的UUID。

方法三:自定义生成

如果以上方法都不满足您的要求,请考虑此自定义方法:

function uuidv4() {
  return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, c =>
    (+c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> +c / 4).toString(16)
  );
}

console.log(uuidv4());

此方法依赖 crypto.getRandomValues 函数将随机性引入到UUID。它迭代预定义的字符集并根据加密值对其进行操作。

以上是如何在 JavaScript 中生成全局唯一标识符 (GUID/UUID)?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn