首页 > web前端 > js教程 > 如何在不同平台上可靠地用 JavaScript 生成全局唯一标识符 (GUID)?

如何在不同平台上可靠地用 JavaScript 生成全局唯一标识符 (GUID)?

Patricia Arquette
发布: 2024-12-24 18:22:16
原创
265 人浏览过

How Can I Generate Globally Unique Identifiers (GUIDs) in JavaScript Reliably Across Different Platforms?

在 JavaScript 中生成全局唯一标识符 (GUID)

在 JavaScript 中创建全局唯一标识符 (GUID) 带来了与平台可用性相关的挑战、随机性和 ASCII 兼容性。为了解决这些问题,可以使用以下几种方法:

现代浏览器和安全上下文:

如果应用程序在具有安全连接(HTTPS 或localhost),crypto.randomUUID() 方法是生成符合 RFC4122 的 UUID 的可靠且高效的选项。此方法确保随机性并满足所需的 ASCII 字符范围。

旧平台和非安全上下文:

对于没有 crypto.randomUUID() 或非加密的平台在安全上下文中,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)
  );
}
登录后复制

此方法利用 crypto.getRandomValues() 生成随机数并确保遵守 ASCII 字符范围。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板