Công Cụ Này Là Gì?
UUID (Universally Unique Identifier - Định danh duy nhất toàn cầu) là một định danh 128-bit được viết dưới dạng 36 ký tự, ví dụ 550e8400-e29b-41d4-a716-446655440000. UUID phiên bản 4 được tạo từ dữ liệu ngẫu nhiên, khiến khả năng trùng lặp thấp đến mức có thể bỏ qua trong thực tế: bạn có thể tạo một tỷ UUID mỗi giây suốt nhiều thập kỷ trước khi khả năng trùng lặp trở nên đáng kể.
UUID được dùng làm khóa chính trong cơ sở dữ liệu, ID yêu cầu để theo dõi (tracing), tên tệp, API key, và bất cứ nơi nào bạn cần một định danh mà không cần phối hợp với một cơ quan trung tâm.
Tại Sao Nên Dùng?
- Bảo mật mật mã học: dùng crypto.randomUUID(), không phải Math.random() yếu.
- Tạo hàng loạt — tối đa 500 UUID cùng lúc, mỗi UUID một dòng, sẵn sàng để dán.
- Tùy chọn chữ hoa và bỏ dấu gạch nối cho các hệ thống có yêu cầu định dạng riêng.
- Chạy offline trên trình duyệt của bạn; UUID không bao giờ được gửi đi đâu.
- Miễn phí và tức thì, không cần đăng nhập.
Cách Sử Dụng
- Chọn số lượng UUID bạn cần (1–500).
- Tùy chọn tick vào "Uppercase" (Chữ hoa) hoặc "Remove hyphens" (Bỏ dấu gạch nối).
- Bấm "Generate UUIDs" (Tạo UUID).
- Bấm "Copy All" (Sao chép tất cả) để sao chép toàn bộ danh sách.
Ví dụ
Đầu vào
Số lượng: 3Đầu ra
f47ac10b-58cc-4372-a567-0e02b2c3d479
9c858901-8a57-4791-81fe-4c455b099bc9
16fd2706-8baf-433b-82eb-8c7fada847daMỗi UUID được tạo độc lập từ dữ liệu ngẫu nhiên bảo mật.
Các trường hợp sử dụng phổ biến
- Khóa chính cơ sở dữ liệu: UUID cho phép bạn tạo một ID hợp lệ trước khi thực hiện insert, hữu ích cho ứng dụng offline-first hoặc khi client cần tham chiếu một bản ghi trước khi máy chủ xác nhận.
- Hệ thống phân tán: nhiều máy chủ có thể tạo ID độc lập mà không cần phối hợp và không có rủi ro trùng lặp — khác với số nguyên tự tăng, vốn cần một nguồn dữ liệu chuẩn duy nhất.
- Idempotency key: gửi cùng một UUID với yêu cầu API được thử lại giúp máy chủ nhận biết và bỏ qua an toàn một lần gửi trùng lặp.
- Test fixture và dữ liệu seed: tạo hàng loạt hàng trăm ID duy nhất cùng lúc để nạp vào cơ sở dữ liệu test hoặc phản hồi API giả lập.
- Key cho danh sách React/Vue: khi các mục danh sách chưa có ID duy nhất tự nhiên, một UUID được tạo ra hoạt động như key ổn định trong quá trình phát triển.
Giới hạn cần biết
UUID không thể sắp xếp theo thời gian tạo — tính ngẫu nhiên của v4 nghĩa là các ID mới không nằm gần nhau khi sắp xếp trong chỉ mục cơ sở dữ liệu, điều này có thể ảnh hưởng đến hiệu năng insert khi dữ liệu lớn (đây là lý do UUID v7, có thứ tự theo thời gian, ra đời như một lựa chọn thay thế). Nếu bạn cần vừa sắp xếp theo thời gian vừa duy nhất, v7 hoặc một ID kiểu Snowflake sẽ phù hợp hơn v4.
Một UUID đơn thuần không phải là thông tin xác thực bảo mật. Nó không thể đoán được theo nghĩa bạn không thể dự đoán cái này từ cái khác, nhưng nó chưa bao giờ được thiết kế với các tính năng kiểm tra, hết hạn, hay thu hồi mà một token xác thực thực sự cần — hãy dùng một thư viện token phiên/API chuyên dụng cho việc đó.
Tính ngẫu nhiên thực sự hoạt động như thế nào
Một UUID v4 có 122 bit thực sự ngẫu nhiên (6 bit còn lại được cố định để đánh dấu phiên bản và biến thể, theo đặc tả RFC 4122). Công cụ này lấy tính ngẫu nhiên đó từ crypto.getRandomValues() qua Web Crypto API của trình duyệt — cùng nguồn dùng cho khóa TLS và các phép toán mật mã học khác, chứ không phải Math.random() yếu hơn nhiều, thứ đủ dễ đoán khiến một số thư viện UUID cũ dựa trên nó từng bị chỉ trích vì tạo ra ID có thể đoán được.
Để hình dung xác suất trùng lặp cụ thể hơn: với 122 bit ngẫu nhiên, bạn cần tạo khoảng 2,71 tỷ tỷ (2,71 quintillion) UUID trước khi có 50% khả năng xảy ra dù chỉ một lần trùng lặp — nhiều hơn vài bậc độ lớn so với bất kỳ ứng dụng đơn lẻ nào từng tạo ra. Đây là lý do UUID v4 được xem là gần như không thể trùng lặp trong thực tế, dù về mặt toán học không phải là bất khả thi tuyệt đối.
Câu Hỏi Thường Gặp
Hai UUID được tạo ra có thể trùng nhau không?
Về lý thuyết có, thực tế thì không. Một UUID v4 có 122 bit ngẫu nhiên. Xác suất trùng lặp vẫn không đáng kể ngay cả sau khi tạo hàng nghìn tỷ UUID — có thể coi chúng là duy nhất một cách an toàn.
Sự khác biệt giữa các phiên bản UUID là gì?
v1 dựa trên dấu thời gian + địa chỉ MAC (lộ thông tin), v4 hoàn toàn ngẫu nhiên (lựa chọn phổ biến nhất), v5 được suy ra từ một tên qua băm (deterministic - có tính xác định), và v7 là ngẫu nhiên theo thứ tự thời gian (tốt cho chỉ mục cơ sở dữ liệu). Công cụ này tạo v4.
Các UUID này có đủ an toàn để dùng làm token không?
Chúng dùng nguồn ngẫu nhiên bảo mật mật mã học, tốt hơn nhiều so với Math.random(). Với token phiên đăng nhập, các công cụ tạo token chuyên dụng với entropy cao hơn vẫn được ưu tiên hơn, nhưng UUID v4 hoàn toàn phù hợp làm định danh.
UUID có giống GUID không?
Có. GUID (Globally Unique Identifier) là tên gọi của Microsoft cho cùng định dạng 128-bit này. Hai thuật ngữ có thể dùng thay thế cho nhau.
Các UUID được tạo ra có bị lưu trữ hay ghi log không?
Không. Việc tạo diễn ra cục bộ trên trình duyệt của bạn. Không có gì được truyền đi, lưu trữ hay ghi log — mỗi UUID bạn thấy chỉ tồn tại trên màn hình của bạn.