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
- 1 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.
- 2 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.
- 3 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. Nó sử dụng crypto.randomUUID() khi có sẵn, nếu không sẽ sử dụng crypto.getRandomValues(); nếu cả hai Web Crypto API đều không khả dụng, công cụ sẽ báo cáo rằng việc tạo UUID không được hỗ trợ thay vì tạo ra các mã định danh yếu.
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.
- ✓ Không sử dụng Math.random() làm phương án dự phòng; nếu Web Crypto không khả dụng, trình tạo sẽ báo cáo rằng việc tạo UUID không được hỗ trợ.
- 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ự.
- RFC 9562 — Mã định danh duy nhất toàn cầu (UUIDs) — Định dạng UUID v4 và cấu trúc bit ngẫu nhiên
- MDN — Crypto.randomUUID() — tạo UUID trình duyệt an toàn về mặt mã hóa
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 Web Crypto không khả dụng, công cụ sẽ báo cáo việc tạo UUID là không được hỗ trợ thay vì tạo ra các mã định danh trông có vẻ an toàn từ tính ngẫu nhiên yếu.
Sử dụng kết quả này để tham khảo và hãy xác nhận các quyết định quan trọng với chuyên gia có chuyên môn.
Dữ liệu nhập vào được lưu trong trình duyệt trừ khi có tính năng mới thông báo khác cho bạn.
Công cụ tính liên quan
Khám phá các máy tính liên quan để so sánh kết quả và giả định.
Bộ chuyển đổi thời gian Epoch
Chuyển đổi dấu thời gian Unix sang ngày UTC hoặc chuyển đổi ngày thành giây epoch.
Máy tính chuyển đổi cơ số
Chuyển đổi một số nguyên sang hệ nhị phân, bát phân, thập phân và thập lục phân.
Trình định dạng JSON
Xác thực và định dạng JSON đẹp mắt với phân tích cấu trúc.