Tạo & kiểm tra UUID
Tạo UUID v4 ngẫu nhiên an toàn mật mã hoặc UUID v7 sắp xếp được, một hay một nghìn cái cùng lúc, và phân tích mọi UUID hay GUID để xem phiên bản và timestamp nhúng bên trong.
Chạy trên trình duyệtKhông cần đăng kýKhông tải lên gì
Cách dùng Tạo UUID
- Chọn v4 cho ID hoàn toàn ngẫu nhiên hoặc v7 cho ID sắp xếp theo thời điểm tạo.
- Đặt số lượng cần (tối đa 1.000) và bấm Tạo.
- Tùy chọn chuyển sang chữ hoa, bỏ gạch nối hoặc bọc trong ngoặc nhọn cho GUID kiểu Microsoft.
- Bấm vào UUID lớn để sao chép, hoặc dùng Sao chép tất cả / Tải xuống .txt cho cả loạt.
- Dán bất kỳ UUID nào vào phần phân tích để kiểm tra và đọc phiên bản, variant và timestamp của nó.
UUID là gì?
UUID (Universally Unique Identifier), trên nền tảng Microsoft gọi là GUID, là giá trị 128-bit được viết thành 32 chữ số hex chia làm năm nhóm: 8-4-4-4-12. Định dạng được định nghĩa trong RFC 9562, thay thế RFC 4122 từ năm 2024. Một chữ số mã hóa phiên bản (chữ số hex thứ 13) và các bit cao của chữ số thứ 17 mã hóa variant.
UUID v4 và UUID v7
| v4 | v7 | |
|---|---|---|
| Nội dung | 122 bit ngẫu nhiên | Timestamp Unix mili giây 48-bit + 74 bit ngẫu nhiên |
| Thứ tự sắp xếp | Ngẫu nhiên | Theo thời gian |
| Index cơ sở dữ liệu | Chèn ngẫu nhiên gây phân mảnh index B-tree | Ghi nối vào cuối, thân thiện với index hơn nhiều |
| Lộ thời điểm tạo | Không | Có |
Dùng v7 cho khóa chính cơ sở dữ liệu và ID sự kiện khi thứ tự chèn quan trọng. Dùng v4 khi ID không được để lộ thời điểm tạo. Công cụ này giữ các ID v7 tăng dần nghiêm ngặt kể cả khi nhiều ID được tạo trong cùng một mili giây.
Chúng độc nhất tới mức nào?
Với 122 bit ngẫu nhiên, bạn sẽ cần tạo khoảng 2,7 tỷ tỷ UUID v4 mới đạt 50% khả năng xảy ra một lần trùng lặp. Trang này dùng bộ sinh số ngẫu nhiên an toàn mật mã của trình duyệt (crypto.getRandomValues), không bao giờ dùng Math.random().
Tạo UUID trong code
// JavaScript (browsers, Node 19+)
crypto.randomUUID()
# Python
import uuid; uuid.uuid4()
-- PostgreSQL 13+
SELECT gen_random_uuid();Câu hỏi thường gặp
Các UUID này có an toàn để dùng trong production không?
UUID và GUID khác nhau thế nào?
{3F2504E0-4F89-11D3-9A0C-0305E82C3301}. Dùng các tùy chọn phía trên để tạo định dạng đó.Tôi có thể lấy thời điểm tạo từ UUID không?
Có nên dùng UUID làm khóa chính cơ sở dữ liệu không?
uuid gốc hoặc cột nhị phân 16 byte thay vì chuỗi 36 ký tự.Nil UUID là gì?
00000000-0000-0000-0000-000000000000, dùng làm giá trị giữ chỗ nghĩa là “không có UUID”. RFC 9562 cũng định nghĩa max UUID toàn chữ f.