Trình tạo UUID (phiên bản 4)

Tạo Mã định danh Duy nhất Toàn cầu (UUID) phiên bản 4 (ngẫu nhiên giả), một mã định danh 128-bit ngẫu nhiên có thể được coi là duy nhất. UUID còn được gọi là Mã định danh Duy nhất Toàn cục (GUID).

UUID đã tạo:

 

Công cụ liên quan

Thêm về UUID phiên bản 4

UUID phiên bản 4 được tạo bằng trình tạo số ngẫu nhiên giả hoặc ngẫu nhiên để tạo mã định danh 128-bit. Dưới đây là các bước để tạo UUID phiên bản 4:

  1. Tạo 16 byte (128 bit) dữ liệu ngẫu nhiên bằng trình tạo số ngẫu nhiên an toàn. Dữ liệu này có thể được tạo bằng thư viện mật mã, API hệ điều hành hoặc trình tạo số ngẫu nhiên phần cứng.

  2. Đặt số phiên bản. Số phiên bản cho UUID phiên bản 4 là 0100 trong nhị phân hoặc 4 trong thập lục phân. Giá trị này được đặt trong 4 bit quan trọng nhất của byte thứ 7 của UUID.

  3. Đặt biến thể. Số biến thể cho UUID phiên bản 4 là 10 trong nhị phân hoặc 8, 9, A hoặc B trong thập lục phân. Giá trị này được đặt trong 2 bit quan trọng nhất của byte thứ 9 của UUID.

  4. Kết hợp dữ liệu ngẫu nhiên đã tạo với số phiên bản và số biến thể để tạo UUID 128-bit.

  5. Định dạng UUID thành chuỗi 32 chữ số thập lục phân, được nhóm thành năm phần phân tách bằng dấu gạch nối. Định dạng chuỗi thường là: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, trong đó mỗi x đại diện cho một chữ số thập lục phân và y là chữ số thập lục phân đại diện cho biến thể.

Dưới đây là ví dụ về cách UUID phiên bản 4 có thể được tạo:

  1. Tạo 16 byte dữ liệu ngẫu nhiên: 6c 8c 75 1f 0d aa a7 21 98 c1 46 11 10 f2 03 67.

  2. Đặt số phiên bản: 0100.

  3. Đặt số biến thể: 1000 (hoặc 8, 9, A hoặc B trong thập lục phân).

  4. Kết hợp dữ liệu ngẫu nhiên, số phiên bản và số biến thể để tạo UUID: 6c8c751f-0daa-4217-98c1-461110f20367.

  5. UUID kết quả là mã định danh duy nhất rất khó bị trùng lặp.

Lưu ý rằng mặc dù UUID phiên bản 4 rất có khả năng là duy nhất, nhưng không đảm bảo duy nhất trong mọi trường hợp. Trong những trường hợp hiếm, có thể tạo ra UUID trùng lặp nếu hai hệ thống tạo cùng dữ liệu ngẫu nhiên vào cùng thời điểm. Tuy nhiên, xác suất tạo UUID trùng lặp là cực kỳ thấp.