JavaScript-如何创建 GUID/UUID?
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 uuidimport { v4 as uuidv4 } from uuid;uuidv4(); // ⇨ a822c29f-01db-4e27-9946-90cab5d73a8bUMD
<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>版权申明
本文系作者 @河马 原创发布在河马博客站点。未经许可,禁止转载。
暂无评论数据