如何在javascript/typescript/nodejs中生成唯一标识符 - UUID, GUID, UDID教程

4,108 阅读2分钟

在这篇博文中,我们将学习如何在javascript/typescript/nodejs中生成唯一标识符 - UUID, GUID, UDID。

在javascript中生成唯一标识符

在每一种编程语言中,我们都有一个唯一的标识符来识别资源、价值或引用。有各种各样的名称来识别唯一的引用。一般来说,以下是在javascript应用中经常使用的:

  • 通用唯一标识符 - UUID
  • 全球唯一标识符 - GUID
  • 唯一设备标识符 - UDID

Javascript中的通用唯一标识符--UUID

UUID是一个通用的唯一标识符。它包含16个字节的值,可用于识别唯一的值。该值代表十六进制的值。这可以作为数据库表中的主键,唯一地识别行。

16字节的值是由RFC 4122唯一定义的。

全球唯一标识符 - GUID

GUID是微软的UUID版本。你可以交替使用两者,功能和用法都是一样的。

唯一设备标识符 - UDID

这主要用于手机,以唯一地识别设备。它包含40个十六进制字符的大小。它主要用于IOS设备来识别设备。

GUID和UUID的区别

两者都是唯一的识别值。UUID的范围是通用的,GUID的范围是全球的。GUID是微软对UUID的实现。两者都产生一个16字节的字符,以5组连字符分开。

下面是唯一标识符的例子

38bcc565-59f8-4506-818c-9d9dd7cb7b11

GUID UUID使用

  • 数据库表中的主键,用于唯一地识别行
  • 用来识别windows注册表的值来识别windows资源
  • 识别大数据中分散在服务器上的数据
  • 在REST API中用于使用标识符进行CRUD操作

javascript - 如何创建一个UUID或GUID,并举例说明

创建GUID或UUID有多种方法。这个例子在javascript中创建了UUID,GUID

function uuid() {  
  var uuidValue = "", k, randomValue;  
  for (k = 0; k < 32;k++) {  
    randomValue = Math.random() * 16 | 0;  
  
    if (k == 8 || k == 12 || k == 16 || k == 20) {  
      uuidValue += "-"  
    }  
    uuidValue += (k == 12 ? 4 : (k == 16 ? (randomValue & 3 | 8) : randomValue)).toString(16);  
  }  
  return uuidValue;  
}  
console.log(uuid())  

输出是

c50a2fbe-99b9-4d90-b332-a1a054c946b4  

在Nodejs中生成唯一标识符的例子

npm软件包uuid可用于生成唯一标识符 首先使用以下命令进行安装

下面是一个使用实例

const uuid = require('uuid/v1');  
uuidv1(); 

输出是

6a72d3cd-2d53-4e0e-8acb-0e1c98331fe1  

类型脚本--生成UUID或GUID,举例说明

在typescript应用程序中,你可以使用npm包UUID。首先使用npm install uuid命令安装uuid包。在typecript文件中,导入uuid包并直接使用uuid()函数,如下所示

import { v1 as uuid } from 'uuid';  
const id: string = uuid();