一、什么是UUID
UUID全称:通用唯一识别码(Universally Unique Identifier)。是由一组32位数的16进制数字所构成,是一种特定的字符,在大多数实际用途中可以安全的认为是唯一的;例如 70e33a5f-d382-4479-b670-c77052928c09
特点:
- 经由一定的算法机器生成
- 非人工指定,非人工识别
- 在特定的范围内重复的可能性极小
UUID生成算法
- V1 基于时间– 结合时间戳、时钟序列和特定于生成设备的值(通常是其 MAC 地址),以在该时间点为该主机生成唯一的输出。
- V2 DCE 安全性 - 此版本是作为第 1 版的演变而开发的,用于分布式计算环境 ( DCE )。它没有被广泛使用。
- V3 基于名称 (MD5) – MD5 对“名称空间”和“名称”进行散列处理,以创建名称在名称空间内唯一的值。生成另一个具有相同命名空间和名称的 UUID;将产生相同的输出,因此此方法提供可重现的结果。
- V4 随机- 大多数现代系统倾向于选择 UUID v4,因为它使用主机的随机或伪随机数源来发布其值。两次生成相同 UUID 的机会几乎可以忽略不计。
- V5 基于名称 (SHA-1) - 这与版本 3 类似,但它使用更强大的 SHA-1 算法来散列输入命名空间和名称。 尽管 RFC 将算法称为版本,但这并不意味着您应该始终使用版本 5,因为它似乎是最新的。选择哪一种取决于您的用例;在许多情况下,选择 v4 是因为它的随机性。这使它成为简单的“给我一个新标识符”场景的理想选择。
二、UUID有什么作用
UUID 的目的是让分布式系统中的所有元素,都能有唯一的辨别标识,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Microsoft's Globally Unique Identifiers (GUIDs),而其他重要的应用,则有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等。
前端中可以用来生成token,或者下载文件的唯一识别码
三 vue3中生成UUID
-
安装:
npm install uuid -
引入生成uuid:
import { v4 as uuidv4 } from 'uuid'; let UUID=uuidv4();