Trình tạo UUID

Tạo UUID phiên bản 1, 3, 4, 5, 6 và 7. Chọn phiên bản, cấu hình tùy chọn và nhấp Tạo. Mọi xử lý đều diễn ra cục bộ trong trình duyệt của bạn.

Đã sao chép!

Đọc ngược một cái

Giải thích các phiên bản UUID

Phiên bảnPhương thứcTrường hợp sử dụng
v1Timestamp (100-ns) + node ngẫu nhiênID theo thứ tự thời gian; nhúng thời gian tạo
v4Ngẫu nhiên mật mãID duy nhất đa năng - phổ biến nhất
v5Hash SHA-1 của namespace + tênGiống v3 nhưng sử dụng SHA-1 (được khuyến nghị hơn v3)
v6Timestamp v1 sắp xếp lạiSắp xếp thân thiện với cơ sở dữ liệu cho ID dựa trên thời gian
v7Unix ms timestamp + ngẫu nhiênDựa trên thời gian hiện đại, đơn điệu, tốt nhất cho cơ sở dữ liệu

Phiên bản 4 là thứ nên chọn mặc định: nó chỉ toàn bit ngẫu nhiên, nên chẳng để lộ gì và chỉ va chạm trên lý thuyết. Phiên bản 7 đáng để biết, vì nó đặt thời gian lên đầu, nghĩa là một cột những giá trị này sẽ sắp đúng theo thứ tự các hàng được tạo, và chỉ mục cơ sở dữ liệu giữ được sự gọn gàng thay vì làm các thao tác ghi tản mát. Phiên bản 1 và 6 nhúng cùng dấu thời gian đó cộng thêm một trường nút; nút ở đây là ngẫu nhiên với bit multicast được bật, nên không bao giờ là một địa chỉ mạng thật. Dán bất kỳ UUID nào vào phần xem xét, nó sẽ cho bạn biết phiên bản và, nếu có, đúng khoảnh khắc nó được tạo ra.

Lại phải nắn dữ liệu bằng tay?

Một tải trọng mà lần nào bạn cũng phải chữa trong một thẻ trình duyệt vốn là việc của mã nguồn. Chúng tôi xây các tích hợp, bộ phân tích và dịch vụ chuyển dữ liệu giữa các hệ thống, và sửa những cái đang âm thầm làm hỏng dữ liệu trên đường đi.

Cho chúng tôi biết bạn đang chuyển gì

Câu hỏi thường gặp

Tôi nên dùng phiên bản nào?
Phiên bản 4, trừ khi bạn có lý do khác. Nó ngẫu nhiên và không để lộ điều gì. Hãy chọn phiên bản 7 khi các giá trị đi vào một cột cơ sở dữ liệu có đánh chỉ mục, vì nó sắp theo thời điểm tạo và giữ chỉ mục gọn gàng thay vì làm mỗi lần chèn tản mát ra.
Dùng chúng làm bí mật có được không?
Không. UUID phiên bản 4 sinh ra từ một nguồn an toàn về mật mã nên không đoán được, nhưng nó được thiết kế để hiển thị, ghi nhật ký và chuyền tay. Hãy coi nó là mã định danh, đừng bao giờ dùng làm mật khẩu hay token phiên.
Phiên bản 3 đi đâu rồi?
Nó bị bỏ cùng với MD5. Phiên bản 3 theo định nghĩa chính là MD5, mà MD5 thì có tấn công va chạm khả thi. Phiên bản 5 làm đúng công việc đó bằng SHA-1 và nhận cùng không gian tên với cùng cái tên, nên chuyển sang chỉ là đổi một tuỳ chọn.
Có khi nào hai người tạo ra cùng một UUID không?
Với phiên bản 4 thì trên thực tế là không. Có 122 bit ngẫu nhiên, đủ để bạn phải tạo hàng tỉ cái mỗi giây suốt cả đời thì va chạm mới trở nên đáng lo. Phiên bản 1, 6 và 7 còn dựa thêm vào thời gian, nên trong cùng một máy lại càng khó va chạm.
Vì sao trường nút lại ngẫu nhiên?
Phiên bản 1 và 6 ban đầu đặt địa chỉ mạng của máy vào đó, khiến lộ ra giá trị đến từ đâu. Trang này lấp nó bằng các byte ngẫu nhiên và bật bit multicast, đúng cách mà đặc tả quy định để đánh dấu một nút không phải địa chỉ phần cứng thật.