返回介绍

基于 URL 或者 Crypto.getRandomValues 生成 UUID

发布于 2024-09-07 23:55:54 字数 1429 浏览 0 评论 0 收藏 0

基于 URL.createObjectURL 或者 Crypto.getRandomValues

URL.createObjectURL 产生的地址为 blob:https://developer.mozilla.org/cb48b940-c625-400a-a393-176c3635020b ,其后部分就是一个 UUID

代码 方式一:

function genUUID() {
  const url = URL.createObjectURL(new Blob([]));
  // const uuid = url.split("/").pop();
  const uuid = url.substring(url.lastIndexOf('/')+ 1);
  URL.revokeObjectURL(url);
  return uuid;
}

genUUID() // cd205467-0120-47b0-9444-894736d873c7

方式二:

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

uuidv4() // 38aa1602-ba78-4368-9235-d8703cdb6037

参考引用 generating-uuids-at-scale-on-the-web-2877f529d2a2 collisions-when-generating-uuids-in-javascript

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文