Hash/Mật mã
UUID Generator
Tạo UUID phiên bản 1, 3, 4, 5, 6 và 7 — ngẫu nhiên, dựa trên thời gian và dựa trên tên (name-based).
A UUID (Universally Unique Identifier) is a 128-bit identifier that's unique in practice without a central registry: two independent servers can generate one at the same moment and almost never collide. The versions differ in how they're generated.
Which version to pick
- v4 — fully random, the most common choice for database record IDs, session keys, and similar cases.
- v1 and v6 — based on creation time; v6 carries the same content as v1 but with the fields reordered so it sorts naturally — handy as a primary key.
- v3 and v5 — deterministic, derived from a namespace and a name (v3 uses MD5, v5 uses SHA-1) — the same input always produces the same UUID.
- v7 — the newest standard: a millisecond Unix timestamp plus a random part, sortable by time like v1/v6, but without a MAC address.
Common uses
- Primary keys in databases where auto-increment doesn't fit (distributed systems, offline-first apps).
- Session IDs, request IDs for tracing, temporary file names.
- Deterministic IDs (v5) for objects that need the same identifier across different systems given the same name.
Things to keep in mind
UUID v1 and v6 embed the generating device's MAC address — avoid them if that's an unwanted disclosure.
The format is 32 hexadecimal characters grouped with hyphens as 8-4-4-4-12 (e.g. 550e8400-e29b-41d4-a716-446655440000).
Bài viết về công cụ này: UUID: cách tạo ra định danh gần như không bao giờ trùng lặp
Câu hỏi thường gặp
Sự khác biệt giữa UUID v4 và các phiên bản khác là gì?
UUID v4 được tạo từ các số ngẫu nhiên hoặc giả ngẫu nhiên, khiến nó trở thành lựa chọn đơn giản nhất không phụ thuộc vào thời gian hay định danh phần cứng. Các phiên bản khác như v1 mã hóa dấu thời gian và địa chỉ MAC, hoặc v5 suy ra UUID một cách xác định từ không gian tên và tên.
Khả năng hai UUID được tạo trùng nhau là bao nhiêu?
Cực kỳ thấp. Một UUID v4 có 122 bit ngẫu nhiên, nên bạn sẽ cần tạo hàng tỷ UUID mỗi giây trong nhiều thế kỷ trước khi một sự trùng lặp trở nên khả dĩ về mặt thống kê.
Các UUID được tạo ở đây có được gửi đi đâu không?
Không. Việc tạo diễn ra hoàn toàn trong trình duyệt của bạn bằng nguồn ngẫu nhiên an toàn về mặt mật mã học — không có gì được gửi tới máy chủ.
UUID v7 là gì và tốt hơn v4 như thế nào đối với cơ sở dữ liệu?
UUID v7 nhúng dấu thời gian vào các bit đầu, nên giá trị tự nhiên được sắp xếp theo thời gian tạo — khác với v4 hoàn toàn ngẫu nhiên, vốn ảnh hưởng xấu đến hiệu năng chỉ mục cơ sở dữ liệu do thứ tự chèn bản ghi mới hỗn loạn.
Có thể dùng UUID làm token bí mật không?
Với UUID v4 thì có, vì nó được tạo bằng bộ sinh số ngẫu nhiên an toàn về mật mã học. Nhưng UUID v1 tiết lộ một phần thời gian tạo và địa chỉ MAC của thiết bị, nên không phù hợp ở những nơi cần tính không thể đoán trước.