编程技术分享平台

网站首页 > 技术教程 正文

JavaScript-如何创建 GUID/UUID?(如何创建javascript函数)

xnh888 2024-10-31 15:45:26 技术教程 21 ℃ 0 评论

UUID(通用唯一标识符),也称为 GUID(全局唯一标识符),根据RFC 4122,是旨在提供某些唯一性保证的标识符。

虽然可以在几行 JavaScript 代码中实现符合 RFC 的 UUID,但有几个常见的陷阱:

无效的 id 格式(UUID 必须采用“ xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx”形式,其中 x 是 [0-9, af] 之一M是 [1-5] 之一,N是 [8, 9, a 或 b]

使用低质量的随机源(例如Math.random)

因此,鼓励为生产环境编写代码的开发人员使用严格、维护良好的实现,例如uuid模块

低质量随机源生成uuid(存在风险)

function uuidv4() {
  return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>
    (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
  );
}

console.log(uuidv4());

使用可靠的uuid模块(https://github.com/uuidjs/uuid)

ECMAScript Modules

npm install uuid 

import { v4 as uuidv4 } from 'uuid';
uuidv4(); // ? 'a822c29f-01db-4e27-9946-90cab5d73a8b'

UMD

<script src="https://cdn.jsdelivr.net/npm/uuid@latest/dist/umd/uuidv4.min.js"></script>
<script>
  console.log(uuidv4()); // ? "a3808738-400b-4163-8cfe-12efa59906d0"
</script>

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表