Lập Trình

Trình Tạo UUID

Cần UUID cho khóa cơ sở dữ liệu, token API hoặc fixture kiểm thử? Tạo UUID v4 từng cái một hoặc theo lô — tối đa 100 mỗi lần — và sao chép chúng trực tiếp vào clipboard của bạn.

Công cụ này có hữu ích với bạn không?

Trình Tạo UUID là gì?

Trình tạo UUID (Mã định danh duy nhất toàn cầu) tạo UUID phiên bản 4 ngẫu nhiên — mã định danh 128 bit thực tế là duy nhất trên tất cả các hệ thống trên toàn thế giới. Mỗi UUID theo định dạng tiêu chuẩn 8-4-4-4-12 (36 ký tự có dấu gạch ngang), giúp dễ đọc, lưu trữ và truyền tải. Chữ số phiên bản (vị trí 13) luôn là 4, và chữ số biến thể (vị trí 17) luôn là 8, 9, A hoặc B, đảm bảo tuân thủ đầy đủ RFC 4122. Tạo 1 đến 100 UUID cùng lúc cho khóa chính cơ sở dữ liệu, mã thông báo API, mã định danh phiên bản, dữ liệu kiểm tra hoặc bất kỳ ứng dụng nào cần mã định danh duy nhất được đảm bảo mà không cần phối hợp với cơ quan trung ương.

Khi Nào Nên Sử Dụng Máy Tính Này

  • Bạn cần định danh duy nhất cho khóa chính cơ sở dữ liệu trong hệ thống phân tán
  • Bạn đang tạo định danh tài nguyên API phải duy nhất toàn cầu mà không cần cơ quan trung tâm
  • Bạn cần fixture kiểm thử với ID duy nhất cho kiểm thử đơn vị hoặc tích hợp
  • Bạn đang xây dựng hệ thống quản lý phiên yêu cầu tạo token duy nhất
  • Bạn cần tạo nhiều định danh duy nhất theo lô cho di chuyển hoặc nhập dữ liệu
  • Bạn muốn xác minh rằng UUID bạn đã có là hợp lệ và được định dạng đúng

Các bước:

  1. Chọn số lượng UUID cần tạo (1-100).
  2. Nhấp vào nút Tạo UUID.
  3. Sao chép UUID riêng lẻ hoặc sử dụng Sao chép tất cả.
  4. Bật tự động sao chép để sao chép tự động khi tạo.

Công Thức

Định dạng UUID v4: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx Trong đó x là chữ số thập lục phân ngẫu nhiên và y là một trong 8, 9, A hoặc B (biến thể RFC 4122). Tổng tổ hợp: ~5,3 × 10^36

Trường Hợp Sử Dụng

  • Khóa chính cơ sở dữ liệu cho hệ thống phân tán
  • Định danh tài nguyên API
  • Token phiên người dùng
  • ID đơn hàng và giao dịch

Lợi Ích Chính

  • Tạo 1–100 UUID ngay lập tức bằng một cú nhấp chuột
  • Sao chép UUID đơn lẻ hoặc hàng loạt vào bộ nhớ tạm bằng một cú nhấp chuột
  • Chế độ tự động sao chép cho tích hợp luồng công việc phát triển liền mạch
  • Hoàn toàn miễn phí không cần đăng ký, tài khoản hoặc kết nối máy chủ
  • Tạo phía client đảm bảo UUID của bạn không bao giờ rời khỏi trình duyệt
  • Định dạng tương thích toàn cầu (RFC 4122) hoạt động với tất cả cơ sở dữ liệu và khung chính

Mẹo Chuyên Nghiệp

  • Sử dụng UUID v4 cho mã định danh duy nhất tổng quát khi sắp xếp theo thời gian không cần thiết
  • Lưu UUID dưới dạng binary(16) trong cơ sở dữ liệu thay vì chuỗi để tiết kiệm 50% dung lượng lưu trữ và cải thiện hiệu suất chỉ mục
  • Sử dụng UUID v7 hoặc ULID nếu bạn cần mã định danh duy nhất được sắp xếp theo thời gian
  • Không bao giờ tạo UUID phía client cho ứng dụng quan trọng về bảo mật — sử dụng CSPRNG phía máy chủ thay thế
  • Khi di chuyển từ auto-increment ID, thêm cột UUID bên cạnh cột integer hiện có để tránh gián đoạn

Những Lỗi Thường Gặp Cần Tránh

  • Sử dụng ID tự tăng thay vì UUID trong hệ thống phân tán nơi các nút tạo ID độc lập
  • Giả định UUID có thể sắp xếp theo thời gian — UUID v4 tiêu chuẩn là ngẫu nhiên; sử dụng UUID v7 hoặc ULID cho mã định danh được sắp xếp theo thời gian
  • Lưu UUID dưới dạng chuỗi 36 ký tự thay vì 16 byte nhị phân, lãng phí 55% dung lượng và làm giảm hiệu suất chỉ mục
  • Dựa vào Math.random() phía client để tạo UUID an toàn — không an toàn về mặt mã hóa

Các Thuật Ngữ Chính Được Giải Thích

UUID: Mã định danh duy nhất toàn cầu — mã định danh 128 bit được tiêu chuẩn hóa bởi RFC 4122
UUID v4: UUID phiên bản 4 ngẫu nhiên — phiên bản được sử dụng phổ biến nhất, được tạo từ 122 bit ngẫu nhiên
GUID: Mã định danh duy nhất toàn cầu — triển khai tiêu chuẩn UUID của Microsoft, về mặt chức năng giống hệt nhau
RFC 4122: Tài liệu tiêu chuẩn hóa IETF xác định định dạng UUID, các phiên bản và cấu trúc trường biến thể
CSPRNG: Trình tạo số giả ngẫu nhiên được mã hóa an toàn — cần thiết cho việc tạo UUID trong bối cảnh bảo mật

Khái niệm liên quan

  • UUID Phiên bản 4: UUID được tạo hoàn toàn từ bit ngẫu nhiên, với trường phiên bản đặt thành 0100 (4) và bit biến thể đặt theo RFC 4122
  • GUID (Globally Unique Identifier): Triển khai của Microsoft về chuẩn UUID, giống hệt về chức năng với UUID v4
  • RFC 4122: Tài liệu chuẩn hóa định nghĩa định dạng UUID, phiên bản và trường biến thể cho cấu trúc UUID
  • Va chạm: Sự kiện cực kỳ hiếm khi hai UUID được tạo độc lập giống hệt nhau — với UUID v4, xác suất khoảng 1 trên 5,3×10^36
  • UUID v7: Phiên bản UUID mới hơn mã hóa timestamp Unix vào các bit quan trọng nhất, làm cho UUID được sắp xếp theo thời gian và có thể sắp xếp trong khi vẫn duy nhất

Ví Dụ

UUID đã tạo: 550e8400-e29b-41d4-a716-446655440000 — UUID v4 tiêu chuẩn với 4 ở vị trí 13 cho biết phiên bản 4, và "a" ở vị trí 17 cho biết biến thể RFC 4122.

Giải thích kết quả của bạn

Trình tạo tạo UUID Phiên bản 4, là định danh ngẫu nhiên 128-bit tuân theo định dạng thập lục phân tiêu chuẩn 8-4-4-4-12 (36 ký tự bao gồm dấu gạch ngang). Phiên bản 4 có nghĩa là tất cả các bit ngoại trừ chỉ báo phiên bản và biến thể là ngẫu nhiên, cung cấp tính duy nhất cao nhất có thể mà không cần phối hợp giữa các hệ thống. UUID đã tạo có các dấu cấu trúc cụ thể: ký tự thứ 13 luôn là 4 (cho biết phiên bản 4), và ký tự thứ 17 luôn là 8, 9, A hoặc B (cho biết biến thể RFC 4122). Các dấu này phân biệt UUID v4 với các phiên bản khác và đảm bảo tuân thủ tiêu chuẩn. Sử dụng tính năng tự động sao chép khi bạn cần tạo UUID từng cái một trong quá trình phát triển — mỗi UUID được sao chép vào clipboard của bạn ngay lập tức khi tạo. Sử dụng sao chép-tất cả khi bạn cần một lô UUID cho hoạt động hàng loạt. Tạo lô chạy hoàn toàn trong trình duyệt của bạn mà không cần giao tiếp máy chủ.

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

UUID là gì?
UUID (Universally Unique Identifier) là định danh 128-bit được chuẩn hóa bởi RFC 4122. UUID phiên bản 4 được tạo ngẫu nhiên và thực tế được đảm bảo là duy nhất trên các hệ thống.
UUID duy nhất đến mức nào?
Cực kỳ duy nhất. Có 5,3×10^36 UUID v4 có thể. Xác suất va chạm thấp đến mức bạn có thể tạo 1 tỷ UUID mỗi giây trong 100 năm và vẫn có nguy cơ va chạm gần bằng không.
UUID được dùng để làm gì?
UUID được dùng làm khóa chính cơ sở dữ liệu, định danh tài nguyên API, token phiên, ID giao dịch và bất cứ nơi nào cần định danh duy nhất mà không cần cơ quan trung tâm.
Sự khác biệt giữa UUID và GUID là gì?
GUID (Globally Unique Identifier) là triển khai của Microsoft về chuẩn UUID. Chúng giống hệt nhau về chức năng và có thể hoán đổi cho nhau.
UUID có thực sự được đảm bảo là duy nhất không?
Không chuẩn UUID nào đảm bảo tính duy nhất tuyệt đối — nhưng xác suất va chạm với UUID v4 thấp đến mức thiên văn (1 trên 5,3×10^36) đến mức được coi là practically không thể. Để tham khảo, bạn cần tạo 1 tỷ UUID mỗi giây trong 100 năm để đạt ngay cả xác suất va chạm 50%.
Tôi nên dùng UUID hay số nguyên tự tăng cho khóa chính?
UUID tốt hơn cho hệ thống phân tán vì chúng có thể được tạo độc lập trên bất kỳ nút nào mà không cần phối hợp. Số nguyên đơn giản hơn và nhỏ hơn, làm cho chúng tốt hơn cho ứng dụng cơ sở dữ liệu đơn nơi thứ tự tuần tự quan trọng. UUID cũng không rò rỉ thông tin về khối lượng dữ liệu của bạn (ID tuần tự 5.000 cho kẻ tấn công biết bạn có 5.000 bản ghi).
Tôi có thể sắp xếp UUID theo thời gian không?
UUID v4 tiêu chuẩn là ngẫu nhiên và không thể sắp xếp theo thời gian. UUID v7 (có sẵn trong thư viện mới hơn) mã hóa timestamp vào các bit quan trọng nhất, làm cho nó có thể sắp xếp theo thời gian. Nếu bạn cần ID duy nhất được sắp xếp theo thời gian, hãy xem xét UUID v7 hoặc ULID làm thay thế cho v4.
Sự khác biệt giữa lưu trữ UUID dưới dạng chuỗi và nhị phân là gì?
Chuỗi sử dụng 36 ký tự (36 byte), trong khi nhị phân sử dụng 16 byte. Lưu trữ nhị phân hiệu quả hơn cho cả không gian lưu trữ và hiệu suất chỉ mục. Hầu hết cơ sở dữ liệu hỗ trợ các loại cột cụ thể cho UUID xử lý chuyển đổi nhị phân tự động. Sử dụng binary(16) trong MySQL hoặc loại uuid gốc trong PostgreSQL.
Tại sao ký tự thứ 13 luôn là '4' trong UUID v4?
Ký tự thứ 13 chiếm bit 48-51 của UUID, mã hóa số phiên bản. Đối với phiên bản 4, các bit này được đặt thành 0100, là chữ số thập lục phân 4. Đây là cách bất kỳ trình đọc UUID nào xác định UUID là phiên bản 4 (ngẫu nhiên).
Có an toàn khi tạo UUID ở phía máy khách không?
Đối với mục đích không quan trọng về bảo mật, có. Đối với ứng dụng quan trọng về bảo mật (token phiên, khóa API, token đặt lại mật khẩu), sử dụng trình tạo ngẫu nhiên an toàn về mặt mật mã ở phía máy chủ. Math.random() dựa trên trình duyệt không an toàn về mặt mật mã, mặc dù crypto.getRandomValues() của trình duyệt hiện đại chấp nhận được cho hầu hết mục đích.
Tôi có thể tạo bao nhiêu UUID mỗi lần?
Trình tạo này hỗ trợ tối đa 100 UUID mỗi lô. Đối với lô lớn hơn, bạn có thể chạy trình tạo nhiều lần hoặc sử dụng script phía máy chủ với thư viện UUID. Việc tạo hoàn toàn ở phía máy khách không có yêu cầu mạng, vì vậy các lô hoàn thành gần như ngay lập tức.

Khám Phá Thêm Công Cụ

Những công cụ mới được chọn lọc từ thư viện của chúng tôi.