Công cụ tạo UUID (v4, v7, v1)

Tạo UUID theo RFC 9562 hàng loạt: v4 ngẫu nhiên, v7 sắp theo thời gian, v1 dấu thời gian, Nil và Max. Chữ hoa, ngoặc nhọn hoặc bỏ gạch nối. Dùng crypto.getRandomValues.

Tối đa 1000

Đầu ra

122 bit ngẫu nhiên từ crypto.getRandomValues. Xác suất trùng lặp gần như bằng không.

Tạo UUID là gì?

UUID (mã định danh duy nhất toàn cục) là một ID 128-bit được viết thành 32 chữ số hex theo dạng 8-4-4-4-12. Công cụ này tạo tới 1.000 UUID mỗi lần ở phiên bản 4 (ngẫu nhiên), phiên bản 7 (sắp theo thời gian), phiên bản 1 (dấu thời gian), hoặc các giá trị đặc biệt Nil và Max, theo RFC 9562.

Cách sử dụng Tạo UUID

  1. Chọn Phiên bản (phiên bản 4 là lựa chọn thông dụng; phiên bản 7 cho khóa cơ sở dữ liệu).
  2. Đặt Số lượng UUID bạn cần.
  3. Tùy chọn đánh dấu Chữ in hoa, bỏ chọn Gạch nối, hoặc đánh dấu Bọc trong ngoặc nhọn { }.
  4. Bấm Tạo lại để có lô mới, rồi sao chép hoặc tải xuống danh sách.

Ví dụ

Đầu vào
Version 7, How many 2
Đầu ra
01a16811-eb97-7688-838a-aa989505507e
01a16811-eb97-7689-a2db-f00f7ac48f06

Cả hai bắt đầu bằng cùng dấu thời gian mili giây; bộ đếm khiến giá trị thứ hai được sắp sau giá trị thứ nhất. Giá trị của bạn sẽ khác.

Khi nào nên dùng Tạo UUID

Dùng v4 cho ID duy nhất thông thường (tài nguyên API, tên file, correlation ID). Dùng v7 cho khóa chính cơ sở dữ liệu, vì giá trị sắp theo thời gian giữ cho chỉ mục B-tree gọn gàng. Tránh v1 trừ khi hệ thống yêu cầu, và đừng bao giờ dùng UUID làm bí mật hay access token: chúng duy nhất, nhưng không bí mật.

Tạo UUID hoạt động như thế nào

v4: 16 byte ngẫu nhiên từ crypto.getRandomValues; nibble phiên bản được đặt là 4 và hai bit variant là 10, còn lại 122 bit ngẫu nhiên. v7: 48 bit đầu là thời gian Unix hiện tại tính bằng mili giây (big-endian), tiếp theo là phiên bản, một bộ đếm 12-bit (để UUID tạo trong cùng mili giây vẫn sắp đúng thứ tự) và 62 bit ngẫu nhiên. v1: số đếm 60-bit các khoảng 100 nano giây kể từ ngày 15/10/1582, một clock sequence 14-bit và node ID 48-bit; công cụ dùng node ngẫu nhiên với bit multicast được bật (như RFC 9562 cho phép) thay vì địa chỉ MAC của bạn. Dấu thời gian nhúng trong v1/v7 được giải mã và hiển thị bên dưới danh sách.

Các Trường Hợp Sử Dụng Phổ Biến

  • Tạo khóa chính cho bản ghi cơ sở dữ liệu hoặc dữ liệu kiểm thử
  • Tạo request ID hoặc correlation ID cho log
  • Đặt tên file tải lên mà không bị trùng
  • Tạo dữ liệu giả với định danh duy nhất

Câu Hỏi Thường Gặp

Hai UUID v4 có thể trùng nhau không?

Về lý thuyết là có, trên thực tế là không: với 122 bit ngẫu nhiên, bạn cần tạo khoảng 2,7 × 10^18 UUID mới có 50% khả năng xuất hiện một bản trùng.

UUID v4 và v7 khác nhau thế nào?

v4 hoàn toàn ngẫu nhiên. v7 bắt đầu bằng dấu thời gian, nên giá trị tạo sau được sắp sau giá trị tạo trước, tốt hơn cho chỉ mục cơ sở dữ liệu và cho phép đọc thời điểm tạo.

UUID có giống GUID không?

Có. GUID là tên Microsoft dùng cho cùng định dạng 128-bit này. Hãy dùng công cụ tạo GUID cho các định dạng riêng của Windows như kiểu ngoặc nhọn trong registry.

v1 có làm lộ địa chỉ MAC của tôi không?

Không ở đây. Trường node được điền bằng byte ngẫu nhiên và bit multicast được bật để đánh dấu nó không phải phần cứng.

Bước tiếp theo nên làm

Khám phá thêm danh mục