2008-11-15 111 views
15

Vâng, cái gì là một?UUID là gì?

+3

Bạn cũng nên lưu ý rằng GUID giống nhau. –

+0

Vâng, một * Microsoft * GUID là giống nhau. – skaffman

+2

Thông tin và máy phát điện tốt ở đây: [máy phát điện UUID trực tuyến] (http://www.onlineuuidgenerator.com) – Dave

Trả lời

24

Đây là mã số nhận dạng duy nhất để nhận diện điều gì đó. Ý tưởng cho rằng số id đó sẽ là phổ dụng duy nhất. Vì vậy, không có hai thứ nên có cùng uuid. Trên thực tế, nếu bạn tạo ra 10 nghìn tỷ uuids, sẽ có thứ gì đó dọc theo dòng của một cơ hội .00000006 của hai uuids giống nhau.

5

Đó là một chuỗi rất dài các bit được cho là duy nhất ngay bây giờ và mãi mãi, tức là không thể đụng độ với bất kỳ UUID nào khác do bạn hoặc bất kỳ ai khác trên thế giới tạo ra. Cách hoạt động chỉ đơn giản là sử dụng dấu thời gian hiện tại và thuộc tính duy nhất có liên quan đến internet của máy tính đã tạo ra nó (như địa chỉ IP, địa chỉ này phải là duy nhất tại thời điểm bạn kết nối với Internet hoặc Địa chỉ MAC, cấp thấp hơn, ID có dây cứng cho card mạng của bạn) là một phần của chuỗi bit. Ban đầu mỗi card mạng trên thế giới đều có địa chỉ MAC duy nhất, nhưng trong các thế hệ sau, bạn có thể thay đổi địa chỉ MAC thông qua phần mềm, vì vậy nó không đáng tin cậy như một ID duy nhất nữa.

27

UUID được xác định trong RFC 4122. Chúng là ID duy nhất phổ biến, có thể được tạo mà không cần sử dụng quyền hạn tập trung. Có bốn loại UUID chính được sử dụng trong các kịch bản hơi khác nhau. Tất cả UUID có độ dài 128 bit, nhưng thường được biểu diễn dưới dạng 32 ký tự thập lục phân được phân tách bằng bốn dấu gạch nối.

Phiên bản 1 UUID, phổ biến nhất, kết hợp địa chỉ MAC và dấu thời gian để tạo ra tính duy nhất đầy đủ. Trong trường hợp nhiều UUID được tạo đủ nhanh để dấu thời gian không tăng trước thế hệ tiếp theo, dấu thời gian được tăng lên theo cách thủ công bằng 1. Nếu không có địa chỉ MAC hoặc nếu sự hiện diện của nó không mong muốn vì lý do riêng tư, 6 ngẫu nhiên các byte có nguồn gốc từ trình tạo số ngẫu nhiên an toàn mã hóa có thể được sử dụng cho ID nút thay thế.

Phiên bản 3 và UUID phiên bản 5, ít phổ biến nhất, sử dụng hàm băm MD5 và SHA1 tương ứng, cộng với không gian tên, cộng với giá trị dữ liệu đã có để tạo ID duy nhất. Điều này có thể được sử dụng để tạo UUID từ một URL chẳng hạn.

Phiên bản 4 UUID, chỉ đơn giản là 128 bit dữ liệu ngẫu nhiên, với một số bit-twiddling để xác định phiên bản UUID và biến thể.

Xung đột UUID rất khó xảy ra, đặc biệt không phải trong một không gian ứng dụng đơn lẻ.

Các vấn đề liên quan