randomuuidisnotafunction与UUID

一、UUID是什么?

UUID(Universally Unique Identifier,通用唯一标识符)是一种128位长的标识符,用于在计算机系统中识别信息

UUID是通过MAC地址、时间戳、命名空间、随机数和其它方法,保证ID的唯一性

在Java中,我们可以使用java.util.UUID类来生成UUID

import java.util.UUID;

System.out.println(UUID.randomUUID());
// output: 7d65c57e-2f0d-449d-b645-e8da4b556250

二、randomuuidisnotafunction的问题

在JavaScript中,我们通常使用Math.random()方法生成随机数。但是,这种方式生成的随机数是不唯一的

console.log(Math.random()); // output: 0.6528870726352309
console.log(Math.random()); // output: 0.7409684183808188

所以,有些人会使用类似于这样的方式生成UUID

function uuidv4() {
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
    var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
    return v.toString(16);
  });
}

console.log(uuidv4()); // output: "4871f5ad-9fad-495b-9d88-ab8e65c7a54b"
console.log(uuidv4()); // output: "da4d6784-e000-4b22-a73a-8eff0eb227c6"

然而,上面这种方式生成的”UUID”,实际上并不是真正的UUID,而是伪造的。因为它并没有遵守UUID标准。事实上,在JavaScript中,并没有内置的UUID生成器。所以,我们必须借助一些第三方库来生成UUID

三、通过第三方库生成UUID

在JavaScript中,有一些第三方库可以用来生成UUID,比如:

  • node-uuid
  • uuid

下面是node-uuid的使用方法:

var uuid = require('node-uuid');

console.log(uuid.v4()); // output: "bb7e85b7-fc97-4135-9ce5-414f1c0891fb"
console.log(uuid.v4()); // output: "486dd8fb-9c86-4ee2-bea1-fd5600708ef6"

下面是uuid的使用方法:

import { v4 as uuidv4 } from 'uuid';

console.log(uuidv4()); // output: "c1d805ed-434e-4729-bdd1-f5b0ae4d7350"
console.log(uuidv4()); // output: "92b16105-6dee-4a25-836b-cc81fca93e51"

四、总结

UUID是一种用于在计算机系统中识别信息的128位长的标识符。在JavaScript中,通过第三方库可以很方便地生成UUID。而自己实现UUID生成器并不可取,因为这样生成的”UUID”并不遵守UUID标准,也不具有唯一性。

原创文章,作者:POXL,如若转载,请注明出处:https://www.506064.com/n/138401.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
POXLPOXL
上一篇 2024-10-04 00:19
下一篇 2024-10-04 00:19

相关推荐

  • 更好的理解UUID获取方法

    在软件应用程序的开发中,UUID是一个非常重要的概念。UUID是通用唯一标识符的缩写,它是一种可以产生唯一标识符的方法。在本文中,我们将从多个方面来描述UUID获取方法。 一、UU…

    编程 2025-04-13
  • Mybatis UUID应用详解

    一、UUID概述 UUID是一种由网络通用唯一标识符(Universally Unique Identifier)的缩写,是由一组32位数字的十六进制数所构成。其核心思想是通过网络…

    编程 2025-02-05
  • Java UUID生成的完全指南

    在Java编程中,UUID是一种生成唯一标识符的流行方式。本文将从多个方面对Java UUID生成进行详细阐述,涵盖UUID的类型、生成算法、应用场景以及最佳实践。希望本文能够帮助…

    编程 2025-01-24
  • 前端UUID详解

    一、前端UUID生成器 在前端生成UUID是一个很常见的操作,可以通过一些在线工具来实现。 但是如果有相关需求,我们也可以编写代码实现前端UUID的生成。 function gen…

    编程 2025-01-16
  • 详解获取UUID的多个方面

    一、获取UUID方法 UUID是一种通用唯一标识符,可以用于区分不同的实体对象。在Java中,获取UUID主要有两种方法: import java.util.UUID; publi…

    编程 2025-01-14
  • Java生成UUID的工具类

    UUID是指通用唯一识别码(Universally Unique Identifier),它是一种软件构建的标准,也是一种生成方式,用于在分布式计算环境中,为许多不同的设备生成统一…

    编程 2025-01-09
  • 如何获取UUID

    一、uuid的概述 UUID,通常叫做全局唯一标识符,是计算机系统中用来识别信息对象的标准。 在实际编程过程中,有时需要使用UUID来确保系统中的数据唯一性,比如在数据库插入新数据…

    编程 2025-01-09
  • Java UUID详解

    UUID是通用唯一标识符的缩写,是一个软件构建的标准,它使用长度为128位(16字节)的值来表示信息。UUID可以保证对在同一时空中的所有机器都是唯一的,它实际上上是利用网络上的时…

    编程 2024-12-31
  • 前端生成UUID

    UUID(Universally Unique Identifier)是128位的唯一标识符,可用于标识信息或实体。在前端开发中,有时需要生成UUID来标识某些实体或用于其他用途。…

    编程 2024-12-30
  • python中的uuid,python中的数据类型有哪些

    本文目录一览: 1、python产生的唯一的uuid多少位 2、python 如何将uuid.uuid1跟路径进行拼接 3、Python生成UUID 4、python uuid模块…

    编程 2024-12-25

发表回复

登录后才能评论