Công Cụ Tạo UUID
Tạo UUID phiên bản 4 ngẫu nhiên — một hoặc tối đa 100 cùng lúc — bằng tính ngẫu nhiên mật mã học của trình duyệt của bạn. Sao chép chúng riêng lẻ hoặc tất cả cùng lúc.
UUID v4 là gì?
Một UUID (mã định danh duy nhất toàn cầu) là một số 128 bit được viết dưới dạng 32 chữ số thập lục phân trong năm nhóm phân tách bằng gạch nối, như 550e8400-e29b-41d4-a716-446655440000. UUID phiên bản 4 được xây dựng từ dữ liệu ngẫu nhiên: 122 trong số 128 bit là ngẫu nhiên, và 6 bit được cố định để đánh dấu phiên bản (chữ số 4 ở nhóm thứ ba) và biến thể (8, 9, a, hoặc b ở đầu nhóm thứ tư).
Va chạm cực kỳ khó xảy ra. Có khoảng 5,3 × 10^36 UUID v4 có thể có, vì vậy bạn có thể tạo một tỷ mỗi giây trong khoảng 85 năm trước khi đạt được dù chỉ 50% cơ hội có một trùng lặp — đó là lý do UUID được dùng làm khóa cơ sở dữ liệu, ID yêu cầu, và tên tệp mà không cần bất kỳ sự phối hợp trung tâm nào.
Công cụ này dùng Web Crypto API (crypto.randomUUID, với dự phòng crypto.getRandomValues), vì vậy mọi UUID đến từ một bộ tạo số ngẫu nhiên an toàn mật mã học và được tạo hoàn toàn trong trình duyệt của bạn.
Câu Hỏi Thường Gặp
- UUID v4 là gì?
- Một UUID (mã định danh duy nhất toàn cầu) là một mã định danh 128 bit được viết dưới dạng 32 chữ số thập lục phân trong năm nhóm phân tách bằng gạch nối, như 550e8400-e29b-41d4-a716-446655440000. UUID phiên bản 4 được tạo từ dữ liệu ngẫu nhiên — 122 trong số 128 bit là ngẫu nhiên, trong khi 6 bit được cố định để đánh dấu phiên bản và biến thể.
- Hai UUID được tạo ra có thể trùng nhau không?
- Về lý thuyết thì có, trên thực tế thì không. Với 122 bit ngẫu nhiên có khoảng 5,3 undecillion (5,3 × 10^36) UUID v4 có thể có. Bạn sẽ cần tạo khoảng một tỷ UUID mỗi giây trong khoảng 85 năm để đạt được dù chỉ 50% cơ hội có một trùng lặp duy nhất.
- Tính ngẫu nhiên có an toàn mật mã học không?
- Có. UUID được tạo bằng Web Crypto API của trình duyệt (crypto.randomUUID, dự phòng bằng crypto.getRandomValues), dùng bộ tạo số ngẫu nhiên an toàn mật mã học — không phải Math.random có thể đoán trước.
- UUID có được tạo trên máy chủ không?
- Không. Mọi thứ chạy cục bộ trong trình duyệt của bạn, vì vậy UUID không bao giờ di chuyển qua mạng và không thể bị ghi lại bởi bất kỳ ai. Tải lại trang tạo ra một bộ hoàn toàn mới, không liên quan.
- Các tùy chọn viết hoa và không gạch nối dùng để làm gì?
- Một số hệ thống lưu trữ hoặc so sánh UUID ở dạng chữ hoa, và một số (như một số cơ sở dữ liệu và API nhất định) mong đợi dạng 32 ký tự không có gạch nối. Các tùy chọn định dạng lại cùng một giá trị cơ bản — chữ hoa/thường và gạch nối không thay đổi danh tính của UUID theo RFC 4122, coi chúng là tương đương.