Генератор UUID/ v4 · v7
Генерация UUID v4 (случайный) и UUID v7 (упорядоченный по времени) пакетно. Верхний регистр, формат без дефисов, копирование в один клик.
Этот инструмент решил вашу проблему?
Что такое UUID
UUID (Universally Unique Identifier) — это 128-битный全局ный уникальный идентификатор,通常 представляемый в виде 32 шестнадцатеричных символов, например `550e8400-e29b-41d4-a716-446655440000`. UUID v4生成ируется随机но с астрономически низкой вероятностью коллизии — нужно生成 103 триллиона UUID, чтобы вероятность дубликата составила 50%. Идеально подходит в качестве唯一ного первичного ключа в распределённых системах.
Отличия версий UUID
v1基于 временную метку и MAC-адрес (отслеживаемый), v3/v5基于 пространство имён и хеш (детерминированный), v4 — чисто随机ный (наиболее常见ный), v7 — с временной сортировкой +随机ный (новый标准, совмещает упорядоченность и随机ность). v4 — стандарт для日常ней разработки; v7 — идеален для первичных ключей баз данных, требующих хронологической сортировки.
Примеры кода
// UUID v4 (browser & Node 19+)
const id = crypto.randomUUID();
// "110e8400-e29b-41d4-a716-446655440000"
// Node.js (< 19)
import { randomUUID } from "crypto";
const id = randomUUID();
// npm: uuid package
import { v4 as uuidv4, v7 as uuidv7 } from "uuid";
console.log(uuidv4());
console.log(uuidv7());import uuid # UUID v4 print(uuid.uuid4()) # "a8098c1a-f86e-11da-bd1a-00112444be1e" # UUID v5 (name-based, deterministic) print(uuid.uuid5(uuid.NAMESPACE_DNS, "example.com")) # As hex (no dashes) print(uuid.uuid4().hex)
// go get github.com/google/uuid import "github.com/google/uuid" // UUID v4 id := uuid.New() fmt.Println(id.String()) // UUID v7 (google/uuid v1.6+) id7, _ := uuid.NewV7() fmt.Println(id7.String())
-- PostgreSQL
SELECT gen_random_uuid(); -- v4
INSERT INTO users (id, name)
VALUES (gen_random_uuid(), 'Alice');
-- MySQL 8+
SELECT UUID(); -- v1 format
-- For v4: use application layer
-- SQLite (with extension or app)
SELECT lower(hex(randomblob(4))) || '-' ||
lower(hex(randomblob(2))) || '-4' ||
substr(lower(hex(randomblob(2))),2) || '-' ||
substr('89ab', abs(random()) % 4 + 1, 1) ||
substr(lower(hex(randomblob(2))),2) || '-' ||
lower(hex(randomblob(6)));