在javascript中生成GUID的不同方法

1,201 阅读3分钟

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

在javascript中生成唯一标识符

在每一种编程语言中,我们都有一个唯一的标识符来识别资源或价值,或引用。

各种各样的名称来识别唯一的引用。一般来说,以下是在javascript应用中经常使用的。

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

Javascript的普遍唯一标识符(UUID)

UUID 是一个普遍唯一的标识符。它包含16个字节的值,可用于识别独特的值。该值代表 值。它在数据库表中作为主键使用,以唯一地识别行。hexadecimal

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

全球唯一标识符 - GUID

GUID 是UUID的微软版本。你可以交替使用两者,功能和用法都是一样的。生成的值也同样保存格式为 UUID

唯一设备标识符 - UDID

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

GUID和UUID的区别

两者都是唯一的识别值。UUID 范围是普遍的,GU`ID范围是全球的。GUID是微软对UUID的实现。两者都产生16个字节的字符,分成5组连字符。

下面是一个唯一标识符的例子

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

GUID UUID使用

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

如何在javascript中生成一个UUID或GUID?

有多种方法来创建一个GUIDUUID

这个例子在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  

Typecript - 生成UUID或GUID的例子

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

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

总结

你学到了唯一的标识符--GUID UUID以及如何在javascript和nodejs应用程序中生成。