On this page
@std/uuid
Overview Jump to heading
Generators and validators for RFC 9562 UUIDs for versions v1, v3, v4, v5, v6 and v7.
Use the built-in
crypto.randomUUID()
function instead of this package, if you only need to generate v4 UUIDs.
Based on npm:uuid.
import { v5, NAMESPACE_DNS, NIL_UUID } from "@std/uuid";
import { assert, assertFalse } from "@std/assert";
const data = new TextEncoder().encode("deno.land");
const uuid = await v5.generate(NAMESPACE_DNS, data);
assert(v5.validate(uuid));
assertFalse(v5.validate(NIL_UUID));
Add to your project Jump to heading
deno add jsr:@std/uuid
See all symbols in @std/uuid on
什么是 UUID? Jump to heading
UUID(通用唯一标识符)是一个 128 位的标识符,用于在计算机系统中唯一标识信息。UUID 设计为全球唯一,意味着即使在不同系统中独立生成两个 UUID,其相同的概率也极低。这使得 UUID 在数据库键、会话标识符和分布式计算等需要唯一标识的应用场景中非常有用。
为什么使用 @std/uuid? Jump to heading
用于跨版本(v1、v3、v4、v5、v6、v7)生成或验证 UUID。如果您只需要生成 v4,建议优先使用内置的 crypto.randomUUID()。
示例 Jump to heading
import { v4 } from "@std/uuid";
const id = v4.generate();
console.log(v4.validate(id)); // true
提示 Jump to heading
- 命名空间 ID:使用 v3/v5 生成基于名称 + 命名空间的确定性 ID。
- 时间有序 ID:考虑使用 v6/v7 以获得更好的索引局部性。