Chuyển đổi miễn phí

UUID/GUID Máy phát điện

Tạo giá trị UUID v4 (GUID) ngay lập tức trong trình duyệt của bạn. Miễn phí, riêng tư và phía khách hàng - không có dữ liệu nào được gửi đến bất kỳ máy chủ nào.

Về công cụ này

UUID (Mã định danh duy nhất toàn cầu, còn được gọi là GUID trong ngữ cảnh của Microsoft) là mã định danh 128 bit có thể được tạo độc lập trên các hệ thống với xác suất va chạm không đáng kể. Dạng chuẩn là 32 ký tự hex trong các nhóm 8-4-4-4-12, được phân tách bằng dấu gạch ngang (550e8400-e29b-41d4-a716-446655440000). Nhiều phiên bản tồn tại với các chiến lược tạo khác nhau; v4 (ngẫu nhiên) là phổ biến nhất.

UUID v4 lấy được tính duy nhất của chúng từ 122 bit ngẫu nhiên (sáu bit được cố định cho phiên bản và biến thể). Xác suất va chạm nhỏ đến mức vì các mục đích thực tế, UUID có thể được coi là duy nhất trên toàn cầu mà không cần phối hợp - hai hệ thống tạo UUID độc lập sẽ không tạo ra các bản sao trong bất kỳ khoảng thời gian thực tế nào.

Trình tạo này tạo ra UUID v4 ở định dạng hex-with-hyphens tiêu chuẩn. Tính ngẫu nhiên đến từ trình tạo số ngẫu nhiên được bảo mật bằng mật mã của trình duyệt (window.crypto.getRandomValues), phù hợp cho các mục đích nhạy cảm về bảo mật. Việc tạo số lượng lớn được hỗ trợ để điền vào các thiết bị thử nghiệm hoặc cơ sở dữ liệu gieo hạt.

Tại sao tạo UUID

UUID cho phép các hệ thống phân tán tạo ra mã định danh mà không cần phối hợp với cơ sở dữ liệu trung tâm. Mỗi dịch vụ có thể tạo ID cục bộ mà không cần phải quay lại quầy và ID kết quả được đảm bảo không xung đột với ID được tạo ở nơi khác. Điều này cho phép các kiến ​​trúc được mở rộng quy mô trong đó việc tạo ID không phải là nút thắt cổ chai.

UUID cũng làm cho ID không thể đoán được. Thông tin rò rỉ ID số tuần tự - tổng số người dùng, tuổi tài khoản, tốc độ đăng ký. UUID không tiết lộ gì. Các API hiển thị ID cho người dùng được hưởng lợi từ UUID cả về tính bảo mật lẫn khả năng tương thích về phía trước với các chương trình phụ trợ được phân chia.

Cách sử dụng

Nhấp vào tạo, nhận UUID v4.

  1. Chọn số lượng: Tạo một UUID mỗi lần hoặc tạo hàng loạt lên tới vài nghìn để điền dữ liệu thử nghiệm.
  2. Chọn định dạng: Định dạng chuẩn có dấu gạch nối (550e8400-e29b-41d4-a716-446655440000) là mặc định. Các biến thể nhỏ gọn (không có dấu gạch nối), chữ hoa và dấu ngoặc nhọn {550e8400-...} cũng được cung cấp.
  3. Tạo: Crypto.randomUUID() của trình duyệt (hoặc dự phòng v4 sử dụng crypto.getRandomValues) tạo ra UUID mới. Mỗi thế hệ là độc lập và không xác định.
  4. Sao chép hoặc tải xuống: Sao chép các UUID đơn lẻ vào khay nhớ tạm hoặc tải xuống danh sách hàng loạt dưới dạng văn bản hoặc CSV.

Các trường hợp sử dụng phổ biến

Chi tiết kỹ thuật

UUID là 128 bit, được hiển thị dưới dạng 32 chữ số thập lục phân trong năm nhóm được phân tách bằng dấu gạch nối. Việc phân nhóm (8-4-4-4-12) hoàn toàn mang tính thẩm mỹ; giá trị là một số nguyên 128 bit. UUID v4 mã hóa 122 bit ngẫu nhiên với 6 bit còn lại được cố định: trường phiên bản (4 bit, giá trị 4) xác định biến thể.

Hỗ trợ trình duyệt: crypto.randomUUID() có sẵn trong các trình duyệt hiện đại (Chrome 92+, Firefox 95+, Safari 15.4+) và tạo trực tiếp v4 UUID. Các trình duyệt cũ hơn quay lại kết hợp thủ công 16 byte ngẫu nhiên từ crypto.getRandomValues ​​với các bit phiên bản/biến thể được đặt chính xác.

Xác suất va chạm: với 2^122 UUID ngẫu nhiên có thể có, khả năng tạo ra hai giá trị giống hệt nhau là không đáng kể. Ngay cả ở mức 10^9 UUID được tạo ra, xác suất xảy ra một vụ va chạm là khoảng 10^-18 - thấp hơn khoảng 10 nghìn tỷ lần so với việc chọn ngẫu nhiên một nguyên tử trên Trái đất.

Thực tiễn tốt nhất

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

UUID là gì?
UUID (Mã định danh duy nhất toàn cầu) là nhãn 128 bit được sử dụng để nhận dạng duy nhất thông tin mà không cần sự phối hợp giữa các bên. UUID v4 trông giống như: 550e8400-e29b-41d4-a716-446655440000. Nó hầu như được đảm bảo là duy nhất trên tất cả các hệ thống trên toàn thế giới.
Hai UUID có giống nhau không?
Về mặt lý thuyết có thể nhưng thực tế là không thể. UUID v4 có 2^122 giá trị có thể (5,3 × 10^36). Bạn cần tạo ra 1 tỷ UUID mỗi giây trong 100 năm để có 50% khả năng xảy ra một vụ va chạm.
Khi nào tôi nên sử dụng UUID và ID tự động tăng?
UUID phù hợp hơn cho các hệ thống phân tán, ứng dụng ngoại tuyến và khi bạn không muốn ID tiết lộ thông tin (chẳng hạn như số lượng người dùng). Tính năng tự động tăng đơn giản hơn, gọn hơn và nhanh hơn để lập chỉ mục cơ sở dữ liệu.
Các UUID này có được bảo mật bằng mật mã không?
Công cụ này sử dụng crypto.getRandomValues() cung cấp các số ngẫu nhiên được bảo mật bằng mật mã. UUID v4 phù hợp với mã thông báo phiên và mã định danh, nhưng đối với các ứng dụng có độ bảo mật cao, hãy xem xét các trình tạo mã thông báo được xây dựng có mục đích.
Còn UUID v5 hoặc v7 thì sao?
v5 lấy UUID một cách xác định từ một tên trong không gian tên (hữu ích cho các ID có thể định địa chỉ theo nội dung). v7 (mới hơn, 2022) có tiền tố dấu thời gian tính bằng mili giây để sắp xếp thứ tự thời gian từ điển. Trình tạo này tập trung vào v4; phiên bản cụ thể có thể được thêm vào nếu cần thiết.
UUID có phân biệt chữ hoa chữ thường không?
Theo đặc điểm kỹ thuật, không - chữ hoa và chữ thường hex tương đương nhau. Hầu hết các trình tạo đều tạo ra chữ thường theo mặc định. So sánh không nên phân biệt chữ hoa chữ thường.
Việc tạo có được thực hiện trong trình duyệt của tôi không?
Đúng. UUID được tạo phía máy khách bằng cách sử dụng API mật mã của trình duyệt.
Tôi có thể sắp xếp UUID theo thời gian tạo không?
Không dành cho v4 - cấu trúc ngẫu nhiên không có thứ tự thời gian. Đối với các UUID có thể sắp xếp theo thời gian, hãy sử dụng v7 (hoặc v1 sớm hơn nếu bạn chấp nhận các hàm ý về quyền riêng tư).