Trình tạo UUID
Tạo các giá trị UUID v4 ngẫu nhiên để sử dụng trong cơ sở dữ liệu, API hoặc thử nghiệm.
Cách sử dụng trình tạo UUID này
- Thiết lập số lượng UUID
Nhập từ 1–10 vào trường Số lượng UUID để chỉ định số lượng mã định danh cần tạo.
- Tạo
Công cụ này tạo ra các giá trị UUID v4 ngẫu nhiên bằng cách sử dụng nguồn ngẫu nhiên mã hóa của trình duyệt.
- Sao chép kết quả
Sao chép (các) UUID đã tạo để sử dụng trong cơ sở dữ liệu, gói dữ liệu API hoặc dữ liệu mẫu (test fixtures).
Cách trình tạo UUID này hoạt động
Công cụ này tạo UUID phiên bản 4 bằng cách sử dụng tính ngẫu nhiên của trình duyệt. Các mã định danh UUID v4 là các giá trị 128 bit với các bit cụ thể được thiết lập để chỉ định phiên bản (4) và biến thể tiêu chuẩn được sử dụng bởi các đặc tả UUID hiện đại. Khi Web Crypto khả dụng, tính ngẫu nhiên có độ bảo mật mã hóa mạnh; nếu không, công cụ sẽ chuyển sang trình tạo yếu hơn chỉ nhằm mục đích tiện lợi.
UUID v4 = xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx (trong đó y ∈ {8,9,a,b}) Kết quả ví dụ: 550e8400-e29b-41d4-a716-446655440000
Tạo 1 UUID sẽ cho ra một giá trị duy nhất như a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d. Số 4 ở nhóm thứ ba biểu thị phiên bản 4.
Tạo 3 UUID sẽ trả về ba giá trị riêng biệt, mỗi giá trị có 122 bit ngẫu nhiên. Sử dụng chúng làm khóa chính cho các bản ghi kiểm thử hoặc tài nguyên API.
- ✓ Sử dụng API số ngẫu nhiên mã hóa của trình duyệt khi khả dụng.
- ✓ Chuyển sang Math.random() trong các môi trường không có Web Crypto, phù hợp cho sự tiện lợi nhưng không dùng cho mục đích bảo mật cao.
- UUID v4 không có tính tuần tự và không phù hợp để sử dụng làm khóa chính có thể sắp xếp trong các cơ sở dữ liệu ưu tiên việc chèn dữ liệu theo thứ tự.
Tìm hiểu về các phiên bản và cấu trúc UUID
UUID (Universally Unique Identifier) là một giá trị 128 bit được biểu diễn dưới dạng 32 chữ số thập lục phân chia thành năm nhóm (8-4-4-4-12). UUID phiên bản 4 sử dụng dữ liệu ngẫu nhiên hoặc giả ngẫu nhiên cho 122 bit; các bit còn lại mã hóa phiên bản (4) và biến thể. Xác suất xảy ra xung đột là cực kỳ thấp — khoảng 1 trên 2^122 — vì vậy các UUID thực tế là duy nhất mà không cần điều phối. Các phiên bản khác bao gồm: v1 sử dụng dấu thời gian và địa chỉ MAC, v3 và v5 là các hàm băm dựa trên tên, và v7 được sắp xếp theo thời gian. UUID v4 là lựa chọn phổ biến nhất cho các hệ thống phân tán vì nó không yêu cầu cơ quan trung ương và không cần trạng thái chia sẻ để tạo.
Các trường hợp sử dụng UUID cho nhà phát triển
Các nhà phát triển sử dụng UUID làm khóa chính trong cơ sở dữ liệu, ID tương quan trong truy vết phân tán và mã định danh duy nhất trong dữ liệu API. Khác với số nguyên tự động tăng, UUID có thể được tạo ở phía máy khách hoặc bởi bất kỳ dịch vụ nào mà không cần liên hệ với cơ sở dữ liệu trung tâm, giúp đơn giản hóa việc mở rộng theo chiều ngang và kiến trúc ưu tiên ngoại tuyến. Chúng lý tưởng cho các kịch bản hợp nhất khi nhiều hệ thống tạo bản ghi rồi kết hợp lại sau đó. UUID cũng xuất hiện trong các tham số trạng thái OAuth, chữ ký webhook và đặt tên tệp để tránh xung đột. Khi kiểm thử, việc tạo UUID theo yêu cầu giúp tránh mã hóa cứng và giúp các fixture có thể tái lập. Điểm hạn chế chính là kích thước (36 ký tự) và thiếu khả năng sắp xếp so với các ID tuần tự.
Câu hỏi thường gặp
Các UUID này có duy nhất không?
Về cơ bản là có. Khả năng tạo ra một bản trùng lặp là cực kỳ thấp (1 trên 2^122).
Tôi có thể sử dụng chúng trong môi trường thực tế không?
Có, khi môi trường cung cấp tính ngẫu nhiên từ Web Crypto. Nếu trang web đang chạy mà không có API đó và chuyển sang Math.random(), hãy coi kết quả đầu ra là các mã định danh tiện lợi thay vì tính ngẫu nhiên cấp độ bảo mật.