utilduck
Home · Nhà phát triển · Trình tạo UUID

Trình tạo UUID

Tạo định danh UUID v4 ngẫu nhiên tức thì trong trình duyệt.

Danh sách
-

UUID là gì?

UUID (Định danh Duy nhất Phổ biến) là nhãn 128-bit được định dạng thành 32 chữ số hex chia thành năm nhóm bằng dấu gạch ngang, ví dụ 550e8400-e29b-41d4-a716-446655440000. UUID v4 được tạo ngẫu nhiên, xác suất hai giá trị trùng nhau là cực kỳ thấp.

UUID được sử dụng rộng rãi làm khóa chính cơ sở dữ liệu, token phiên và định danh duy nhất trong các hệ thống phân tán. Công cụ này sử dụng crypto.randomUUID() bảo mật tích hợp sẵn của trình duyệt.

Cách tạo UUID v4?

Để tạo UUID v4, lấp đầy 128 bit bằng giá trị ngẫu nhiên an toàn về mật mã học, sau đó cố định chính xác 6 bit để đánh dấu phiên bản và biến thể, để giá trị luôn khớp định dạng UUID chuẩn. Ví dụ định dạng: 550e8400-e29b-41d4-a716-446655440000, trong đó "4" ngay sau dấu gạch nối thứ hai luôn đánh dấu phiên bản 4.

Các bước tạo UUID phiên bản 4

  1. Tạo 128 bit ngẫu nhiên (16 byte) bằng bộ tạo số ngẫu nhiên an toàn về mật mã học.
  2. Đặt 4 bit cao của byte thứ 7 thành 0100 ở dạng nhị phân, đánh dấu phiên bản 4 — đây là lý do ký tự đầu tiên của nhóm thứ ba luôn là "4".
  3. Đặt 2 bit cao của byte thứ 9 thành 10 ở dạng nhị phân, đánh dấu biến thể chuẩn — điều này khiến ký tự đầu tiên của nhóm thứ tư luôn là 8, 9, a hoặc b.
  4. Định dạng các bit còn lại thành 32 chữ số thập lục phân.
  5. Chèn dấu gạch nối để chia các chữ số thành nhóm 8-4-4-4-12 ký tự, tạo ra chuỗi UUID cuối cùng.

Cấu trúc của UUID v4

xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, trong đó x là bất kỳ chữ số thập lục phân ngẫu nhiên nào và y là 8, 9, a hoặc b
  • Tổng độ dài = 36 ký tự, gồm 4 dấu gạch nối (32 chữ số thập lục phân + 4 dấu gạch nối)
  • Nhóm phiên bản = luôn là "4" (đánh dấu phiên bản 4, tức tạo ngẫu nhiên)
  • Nhóm biến thể = luôn là 8, 9, a hoặc b (đánh dấu biến thể chuẩn RFC)

Ví dụ định dạng UUID v4 (minh họa — mỗi lần tạo đều ngẫu nhiên)

NhómĐộ dàiĐoạn ví dụ
time_low8 chữ số hex550e8400
time_mid4 chữ số hexe29b
version + time_hi4 chữ số hex (bắt đầu bằng 4)41d4
variant + clock_seq4 chữ số hex (bắt đầu bằng 8-b)a716
node12 chữ số hex446655440000

Câu hỏi thường gặp

Khả năng hai giá trị UUID v4 trùng nhau là bao nhiêu?

Một UUID v4 có 122 bit ngẫu nhiên (128 bit tổng trừ 6 bit cố định cho phiên bản/biến thể), tức khoảng 5,3 x 10^36 giá trị khả dĩ. Ngay cả khi tạo một tỷ UUID mỗi giây trong một tỷ năm, khả năng trùng nhau vẫn không đáng kể, đó là lý do UUID được xem là gần như duy nhất tuyệt đối mà không cần điều phối trung tâm.

Vì sao mọi UUID v4 đều có số 4 ở cùng một vị trí?

Ký tự này không phải ngẫu nhiên — nó được chuẩn quy định cố định để đánh dấu UUID thuộc phiên bản 4 (tạo ngẫu nhiên), để phần mềm đọc mã định danh có thể nhận biết phiên bản UUID và thuật toán tạo ra nó, kể cả khi không có siêu dữ liệu bổ sung.

UUID có giống với GUID không?

GUID (Globally Unique Identifier) là tên Microsoft đặt cho cùng định dạng mã định danh 128 bit được chuẩn hóa dưới tên UUID. Cả hai thuật ngữ mô tả cùng một cấu trúc bên dưới và thường được dùng thay thế cho nhau trong thực tế, dù một số công cụ cũ của Microsoft có khác biệt nhỏ về định dạng.

UUID có phù hợp làm khóa chính trong cơ sở dữ liệu không?

UUID v4 hoạt động tốt khi mã định danh cần được tạo độc lập trên nhiều máy chủ mà không cần điều phối, tránh nút thắt cổ chai của một bộ đếm tự tăng duy nhất. Đổi lại, UUID ngẫu nhiên chiếm dung lượng lớn hơn số nguyên và, khác với mã định danh tuần tự, có thể ảnh hưởng đến tính cục bộ của chỉ mục trong một số hệ quản trị cơ sở dữ liệu khi tải ghi cao.

Công cụ này tạo UUID phiên bản 4 (ngẫu nhiên) bằng hàm crypto.randomUUID() tích hợp sẵn của trình duyệt, vốn an toàn về mật mã học; không tạo các phiên bản UUID khác như v1 (dựa trên dấu thời gian) hay v5 (băm dựa trên tên).

Sources: RFC 9562 - Universally Unique IDentifiers (UUIDs)

Quyền riêng tư và an toàn

  • Tính toán trong trình duyệt — Dữ liệu bạn nhập chỉ được tính trên thiết bị của bạn và không gửi tới máy chủ utilduck.
  • Kết nối được mã hóa — Mọi trang đều dùng HTTPS nên không ai trên đường truyền đọc được nội dung.
  • Không chia sẻ với bên thứ ba — Dữ liệu bạn nhập không được chuyển cho dịch vụ phân tích hay quảng cáo.
  • Không lưu trữ — Kết quả không được lưu trên máy chủ nào và bạn không cần tạo tài khoản.

Cập nhật lần cuối: 2026-08-17