🆔 Công cụ UUID

Bộ công cụ tạo và xác thực UUID/GUID hoàn chỉnh hỗ trợ tất cả các phiên bản RFC 4122 cùng các lựa chọn hiện đại như ULID cho hệ thống phân tán.

Trình tạo UUID v4

Tạo định danh UUID v4 ngẫu nhiên mật mã hoàn hảo cho khóa chính cơ sở dữ liệu và token phiên mà không tiết lộ thông tin hệ thống.

Trình tạo UUID v1

Tạo định danh UUID v1 dựa trên dấu thời gian nhúng thời gian tạo và địa chỉ MAC cho hệ thống phân tán yêu cầu khả năng truy vết.

Trình tạo UUID v3

Tạo định danh UUID v3 xác định sử dụng băm MD5 của namespace và tên để có ID nhất quán từ cùng một đầu vào.

Trình tạo UUID v5

Tạo định danh UUID v5 dựa trên tên bảo mật sử dụng băm SHA-1 để tăng khả năng chống va chạm so với v3 từ tên DNS hoặc URL.

Trình tạo UUID v6

Tạo định danh UUID v6 hiện đại kết hợp sắp xếp dấu thời gian với hiệu suất lập chỉ mục cơ sở dữ liệu cải tiến.

Trình tạo UUID v7

Tạo định danh UUID v7 tiên tiến sử dụng dấu thời gian Unix epoch với độ chính xác mili giây cho hệ thống phân tán hiện đại.

Trình tạo ULID

Tạo Định danh Duy nhất Toàn cầu Có thể Sắp xếp theo Từ điển với mã hóa 26 ký tự cho lựa chọn thay thế an toàn URL và có thể sắp xếp cho UUID.

Trình tạo Short UUID

Tạo định danh Short UUID gọn nhẹ sử dụng mã hóa base62 để giảm độ dài từ 36 xuống 22 ký tự cho mã QR và URL.

Trình tạo Nil UUID

Tạo Nil UUID RFC 4122 (toàn bộ số 0) đại diện cho giá trị UUID rỗng hoặc null cho khởi tạo cơ sở dữ liệu và trạng thái mặc định.

Bộ giải mã & Xác thực UUID

Phân tích và xác thực UUID mọi phiên bản, trích xuất thông tin nhúng như dấu thời gian, số phiên bản và chi tiết biến thể để gỡ lỗi.

Trình tạo UUID hàng loạt

Tạo hàng nghìn UUID cùng lúc cho việc tạo dữ liệu cơ sở dữ liệu, kiểm thử tải và thao tác dữ liệu hàng loạt với khả năng xuất.

UUID là gì?

UUID (Định danh duy nhất toàn cầu) là một định dạng định danh tiêu chuẩn được thiết kế để duy nhất trên toàn cầu về không gian và thời gian. UUID là giá trị 128-bit thường được biểu diễn dưới dạng 32 chữ số thập lục phân, hiển thị thành năm nhóm cách nhau bằng dấu gạch ngang: 123e4567-e89b-12d3-a456-426614174000.

UUID được định nghĩa bởi tiêu chuẩn RFC 9562 (thay thế RFC 4122 trước đó) và được sử dụng trên các nền tảng máy tính để xác định thông tin mà không cần đăng ký hoặc phối hợp tập trung.

Định dạng UUID

Tất cả UUID có định dạng chung gồm 36 ký tự (32 chữ số thập lục phân cộng 4 dấu gạch ngang) được sắp xếp theo mẫu:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

Trong đó:

  • x là bất kỳ chữ số thập lục phân nào (0-9, a-f)
  • M chỉ phiên bản UUID (1-7)
  • N chỉ biến thể UUID (thường là 8, 9, A hoặc B cho UUID hiện đại)

So sánh các phiên bản UUID

VersionNamePhương pháp tạoTime-orderedTrường hợp sử dụng
UUID v1TimestampDấu thời gian hiện tại + ID nút (MAC)Có (một phần)Ghi nhật ký, hệ thống phân tán
UUID v3Dựa trên tên (MD5)Hàm băm MD5 của namespace + tênNoID nhất quán cho cùng một đầu vào
UUID v4RandomSố ngẫu nhiên hoặc giả ngẫu nhiênNoMục đích chung, phổ biến nhất
UUID v5Dựa trên tên (SHA-1)Hàm băm SHA-1 của namespace + tênNoID nhất quán với hàm băm mạnh hơn
UUID v6Dấu thời gian được sắp xếp lạiDấu thời gian (được sắp xếp để phân loại)YesKhóa cơ sở dữ liệu, bản ghi có thể sắp xếp theo thời gian
UUID v7Dấu thời gian Unix EpochDấu thời gian Unix + dữ liệu ngẫu nhiênYesCác định danh có thể sắp xếp hiện đại
UUID rỗngUUID bằng khôngTất cả bằng số khôngN/AGiá trị đặc biệt, dấu hiệu chưa khởi tạo

Ưu điểm của UUID

  • Không yêu cầu phối hợp: Tạo ID mà không cần phối hợp trung tâm
  • Tính duy nhất toàn cầu: Xác suất trùng cực kỳ thấp
  • Độ dài cố định: Biểu diễn chuỗi 36 ký tự nhất quán
  • Cross-Platform: Hỗ trợ trong hầu hết các ngôn ngữ lập trình
  • Versatile: Các phiên bản khác nhau cho các trường hợp sử dụng khác nhau

Các lựa chọn thay thế UUID không chuẩn

Loại IDDescriptionAdvantagesDisadvantages
GUIDTriển khai UUID của MicrosoftTương đương chức năng với UUIDMột số khác biệt triển khai trong các hệ thống cũ
ULIDĐịnh danh duy nhất toàn cầu có thể sắp xếp theo thứ tự từ điểnCó thể sắp xếp theo thứ tự từ điển, dấu thời gian trước, không phân biệt chữ hoa chữ thườngMới hơn, ít được áp dụng rộng rãi
ID SnowflakeHệ thống ID phân tán của TwitterCó thể sắp xếp theo thời gian, gọn nhẹ (64-bit)Yêu cầu phối hợp trung tâm
CUID/CUID2ID chống trùng lặpNgắn, phù hợp tạo phía clientKhông phải tiêu chuẩn chính thức
Nano IDTrình tạo ID chuỗi duy nhất nhỏ, bảo mật, thân thiện URLNhỏ hơn UUID, bảng chữ cái có thể cấu hìnhKhông chuẩn hóa
UUID ngắnMã hóa ngắn hơn của UUID chuẩnBiểu diễn gọn hơnYêu cầu chuyển đổi đến/từ UUID chuẩn
UUID rỗngUUID với tất cả bit đặt về 0Ý nghĩa ngữ nghĩa đặc biệtKhông duy nhất (dùng làm giá trị đặc biệt)
UUID MinecraftUUID có hoặc không có dấu gạch ngangTương thích với UUID chuẩnChỉ khác biệt về định dạng

Ứng dụng thực tế

  • Khóa chính cơ sở dữ liệu: Đặc biệt trong cơ sở dữ liệu phân tán hoặc sao chép
  • Hệ thống phân tán: Xác định thực thể trên nhiều hệ thống
  • Ứng dụng web: Định danh phiên, theo dõi người dùng ẩn danh
  • Quản lý nội dung: Định danh tài liệu và phương tiện
  • APIs: Định danh yêu cầu và giao dịch để truy vết và gỡ lỗi
  • Internet vạn vật: Xác định thiết bị mà không cần đăng ký tập trung
  • Đồng bộ dữ liệu: Xác định bản ghi trên nhiều kho dữ liệu
  • Cấp phép phần mềm: Khóa sản phẩm hoặc giấy phép duy nhất