Trình tạo UUID
Tạo UUID v4
UUID là gì?
UUID (Định danh duy nhất toàn cầu) là một giá trị 128-bit thường được hiển thị dưới dạng 32 ký tự hex theo định dạng `xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`. Xác suất va chạm giữa các UUID được tạo độc lập là rất thấp đến mức được coi là bằng không — hàng tỷ UUID có thể được tạo ra bởi các hệ thống độc lập mà không cần phối hợp.
UUID phiên bản 4 (phổ biến nhất) là ngẫu nhiên: 122 trong số 128 bit được lấp đầy bằng tính ngẫu nhiên mật mã. Sử dụng chúng làm khóa chính, ID yêu cầu, định danh tệp, hoặc bất kỳ nơi nào bạn cần một giá trị duy nhất mà không có cơ quan trung ương phát hành chúng.
Các trường hợp sử dụng phổ biến
- Khóa chính cơ sở dữ liệu — thay thế ID tự tăng trong các hệ thống phân tán.
- ID yêu cầu / theo dõi — ghi lại một UUID cho mỗi yêu cầu đến để liên kết nhật ký giữa các dịch vụ.
- Khóa idempotency — truyền một UUID với các yêu cầu API để các lần thử lại không xử lý gấp đôi.
- Tên tệp — `$.png` tránh va chạm trong một bucket tải lên chia sẻ.
Câu hỏi thường gặp
UUID v4 có thực sự duy nhất không?
Thực tế là có. Xác suất va chạm cho 1 tỷ UUID là khoảng 1 trong 10^19 — đủ nhỏ để các nhóm kỹ thuật coi va chạm là không thể xảy ra.
UUID v4 so với v7?
v4 hoàn toàn ngẫu nhiên — tốt cho sử dụng chung. v7 (mới hơn) nhúng một tiền tố thời gian, vì vậy các UUID được sắp xếp theo thứ tự tạo — tốt hơn cho việc lập chỉ mục cơ sở dữ liệu. Công cụ này tạo ra v4.
Nó khác gì so với một chuỗi ngẫu nhiên?
UUID là một định dạng tiêu chuẩn — mọi ngôn ngữ và cơ sở dữ liệu đều có hỗ trợ phân tích/lưu trữ tích hợp cho nó. Một chuỗi ngẫu nhiên tùy chỉnh hoạt động nhưng thiếu hỗ trợ hệ sinh thái.
Tôi có thể tạo nhiều UUID cùng lúc không?
Có — đặt số lượng và công cụ sẽ phát ra một danh sách. Tối đa 1.000 tại một thời điểm.
Tính ngẫu nhiên có được gửi đến máy chủ không?
Không. UUID được tạo bởi `crypto.randomUUID` chạy trong trình duyệt của bạn; không có gì rời khỏi thiết bị của bạn.
